Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4089 / 76734 ←次へ | 前へ→

【78272】ブックAのマクロによってブックBでアドインファイルのマクロを実行する方法
質問  kamikaya  - 16/6/15(水) 16:45 -

引用なし
パスワード
   初投稿なので失礼があるかもしれませんが宜しくお願いいたします。

【開発環境】
Excel 2016

【目的】
 開かれているすべてのブックのシートの一覧リストが表示されるユーザーフォームを作成しています(アドインファイル)。最終的にはリスト上のシート名をクリックすると,そのシートに移動するようなものを作りたいと考えております。

【問題点】
 今,ブックAとブックBが開かれており,ブックA上でアドインファイルのユーザーフォームを起動します。ブックA内のシート間の移動は簡単なのですが,ブックBのシートに移動する際に問題があります。というのも,ブックB上の対象シートのアクティブは容易なのですが,ユーザーフォームはブックAで開かれているため,ブックBがアクティブになった時点でユーザーフォームが隠れてしまします。

【質問】
ブックAで起動したユーザーフォームをブックBに引継くないし,ブックBで再起動したいのですが,何か方法はありますでしょうか。
なおブックAおよびブックBには何もマクロは記述せず,すべてアドインファイルのモジュールに記述しなくてはなりません。

助言のほど宜しくお願いいたします。


現在のコードを簡単にすると以下のようになります。参考になれば幸いです。

アドインファイル
【標準モジュール】

  Sub Callback_QuickSheetAccess(Control As IRibbonControl)
    UserForm1.Show vbModeless
    'アドインファイルがインストールされた時点ですでに新規タブにリボンが作成されている。
  End Sub

【ユーザーフォーム】

  Private Sub UserForm_Initialize()
    dim ws, wb
    With Listbox1
      .Clear
      For Each wb In Workbooks
        .AddItem wb.Name    
        For Each ws In wb.WorkSheets
          .AddItem " " & ws.Name
          '1マス開けることでツリービューを再現しているつもり
        Next
      Next
    End With
  End Sub

  Private Sub Listbox1_Click()
    Dim Cnt, BookName, SheetName
    With Listbox1    
      'シート名以外がクリックされていた場合は終了
      If Left(.Value, 1) <> " " Then Exit Sub
     
      'ブック名の取得
      Cnt = .ListIndex
      Do While Left(.List(Cnt), 1) = " "
        Cnt = Cnt - 1
      Loop
      BookName = .List(Cnt)
      
      'シート名の取得(先頭の" "を除外するため次のようになる)
      SheetName = Right(.Value, Len(.Value) - 1)
      
      '移動
      Workbooks(BookName).Activate
      Workbooks(BookName).Worksheets(SheetName).Activate

      'このままでは移動はできるがユーザーフォームが別ブックに引き継げない…
      'Application.Run ブック名!プロシージャ名ではブックAからアドインファイルのマクロを呼ぶだけなので目的が果たせませんでした

    End With
  End Sub
5 hits

【78272】ブックAのマクロによってブックBでアドインファイルのマクロを実行する方法 kamikaya 16/6/15(水) 16:45 質問[未読]
【78276】Re:ブックAのマクロによってブックBでアド... β 16/6/15(水) 17:27 発言[未読]
【78278】Re:ブックAのマクロによってブックBでアド... kamikaya 16/6/15(水) 21:56 お礼[未読]

4089 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free