Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Excel 2013)
プロジェクト間で変数を受け渡しする変数の定義方法
投稿日時: 21/03/05 11:32:27
投稿者: kito110

下記の内容を質問いたします。
◎プロジェクト間で変数を共有する変数の定義方法は、ありますか。
・public変数のように簡単に変数を宣言し、プロジェクト間で変数を使用する方法があるのでしょうか。
・なければ、一旦、定位置のセルに変数を書き出し、それぞれのプロジェクトでこのセル値を使用して、
共有する。
・あるいは、application.runで、引数を渡す。
が、考えられますが、ある程度まとまった数の変数が度々対象となるので、
簡単な定義で、共有できる方法があれば、有難いです。
ご指導のほど、よろしくお願い申し上げます。
 

回答
投稿日時: 21/03/05 21:31:38
投稿者: simple

こうしたことが合理的かどうか不明ですが、以下のような方法はあると思います。
 
参照するプロジェクトを、今のものと別(例:VBAProject2)とし、
参照設定してはどうでしょうか。
その際、参照される側の変数は、Public属性をつけて宣言する必要があるのではないでしょうか。
 
例:

<<VBAProject2>> の標準モジュール(標準でないとダメというわけではないです)
Option Explicit
Public pub_AAAA As Long
Dim BBB As Long
Sub test()
    pub_AAAA = 100
    BBB = 200
End Sub

<<VBAProject>>(参照する側)
Sub main()
    VBAProject2.Module1.test
    Debug.Print VBAProject2.Module1.pub_AAAA
   ''' Debug.Print VBAProject2.Module1.BBB 'コンパイルエラーになります
End Sub

幾つか実験してみてください。

投稿日時: 21/03/05 21:53:47
投稿者: kito110

早速のご回答、ありがとうございました。
幾つか試してみます。

トピックに返信