|
VBAは独学初心者ですが、作業効率の為、活用している者です。
現在試行錯誤している点は、共通的なマクロ処理はアドイン化し、
他の個々のブックには固有のマクロ処理のみを記述し、
冗長となる部分の削減や保守性の向上にチャレンジしています。
そこで、
・アドインブック→(A)
・他の個々のブック→(B)
と表すとして、本題なのですが、
1.変数定義について
(A)は、Option Explicit、配列変数を含むパブリック変数を定義済み。
(B)は、変数宣言は無し。
この状況下では、パブリック変数は(A)のみの変数となってしまう
といった認識が正しいのでしょうか?
2.変数の共有可否について
(B)のプロシジャーがApplication.Runで(A)プロシジャーを実行し、
(A)側でパブリック変数に値を設定した後、
制御が戻った(B)で変数値を参照したいのですが、実現手段はあるでしょうか?
----VBA例----
(A)
Option Explicit
Public wk_dousaj(5) As String
Public wk_kobetu(5) As String
Sub AAAAAA
wk_dousaj(1) = 具体値
wk_dousaj(2) = 具体値
wk_dousaj(3) = 具体値
wk_dousaj(4) = 具体値
wk_dousaj(5) = 具体値
End Sub
※呼び出されるタイミングで具体値を決める共通論理の為アドイン化したい
(B)
Sub BBBBBB
Workbooks(myModule.Name).Application.Run "AAAAAA"
wk_kobetu(1) = wk_dousaj(2) ←★そもそも配列変数が認識されてないが
wk_kobetu(2) = wk_dousaj(4)
End Sub
-------------
以上、宜しくお願い致します。
|
|