Excel VBA 別Bookへの値渡したいです。(変数に定義したもの)
Module1とModule2がある状態で、
Module1の標準モジュール内に変数date1があるとして
date1の値をModule2へ渡す方法を教えてください。
例は以下です、
Public date As Object ←こちらを別のモジュールでも使用したい(値は入ったまま)
【Module1】
Sub testA()
'連想配列の定義
Set date1= CreateObject("Scripting.Dictionary")
End Sub
【Module2】
Sub testB()
MsgBox date1(0) ←ここで使用したい
End Sub
dateには以下の配列が入っています、
date(0) = A
date(1) = B
date(2) = C
No.3ベストアンサー
- 回答日時:
こんにちは
他のブックへの値渡しは
Application.Runを使いますが、渡し先のプロシージャが実行されてしまいます
’ご質問参考例
Option Explicit
Public date1 As Object
Sub testA()
'連想配列の定義
Set date1 = CreateObject("Scripting.Dictionary")
date1(0) = "A"
date1(1) = "B"
date1(2) = "C"
Application.Run "'ブック名.xlsm'!モジュール名.testB", date1
End Sub
受け側の一例
Option Explicit
Public date2 As Object
Sub testB(date1) 'Application.Runで実行される
MsgBox date1(0) '確認用
Set date2 = date1 '受け側のトリガーで実行できるように別変数に
End Sub
Sub testC() '受け渡し側ブックの別プロシージャ
MsgBox date2(0)
End Sub
No.1
- 回答日時:
以下のようにしてください。
module1:
Public date1 As Object
Sub testA()
'連想配列の定義
Set date1 = CreateObject("Scripting.Dictionary")
date1(0) = "A"
date1(1) = "B"
date1(2) = "C"
End Sub
-----------------------------------
module2:
Sub testB()
MsgBox date1(0) ' ←ここで使用したい
End Sub
------------------------------------
module3:
Sub モジュール間テスト()
Call testA
Call testB
End Sub
実行結果
添付図参照
Sub モジュール間テスト()はmodule3でなくても構いません。
module1,module2のどちらかに格納しても問題ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- 工学 ちなみになぜv=(v・e1)e1+(v・e2)e2はe1やe2が、正規直交基底でないと成り立たないと 2 2022/12/22 17:22
- 工学 以前、線形代数からフーリエ級数展開を導く上で 式v=(v, e1)e1+(v, e2)e2+…+(v 6 2022/06/29 17:24
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- 電気工事士 平均照度の計算あっているか教えてください。忙しいと思いますがよろしくお願いします。 現地測定し数値を 1 2022/09/29 07:37
- 数学 「(((a0)/2)・1, 1) …(a0)/2の1倍と1の内積 =(a0)(1, 1) …1 と1 5 2022/07/05 19:11
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで、ユーザーフォーム...
-
Excel VBAでリンク切れをチェッ...
-
VBでグローバル変数を宣言するには
-
vba userFormのSubを標準モジュ...
-
本当にPublicな変数(配列で)
-
VHDLにおける「generic」について
-
VBAで「メモリが不足しています」
-
Excel VBA 定義されたプロージ...
-
シートモジュールで使う変数を...
-
エクセルVBAでシートモジュール...
-
マクロについて教えてください。
-
ユーザー定義関数に#NAME?が返...
-
Form間の値の渡し方
-
パワーポイントでマクロ(Auto_C...
-
エクセルVBA クラスモジュール...
-
クラスモジュールについて
-
モジュールからフォームのボタ...
-
モジュールの最大数はいくつな...
-
モジュールとクラスの違いって...
-
VBAのバージョン管理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで、ユーザーフォーム...
-
Excel VBAでリンク切れをチェッ...
-
vba userFormのSubを標準モジュ...
-
エクセルVBAでシートモジュール...
-
ユーザー定義関数に#NAME?が返...
-
モジュールの最大数はいくつな...
-
VBAで旧字体を異字体に一括で変...
-
VBでグローバル変数を宣言するには
-
VBAで別モジュールへの変数の受...
-
VBA This Workbookモジュール...
-
【vba】フォームに書いてあ...
-
モジュールとクラスの違いって...
-
SendKeysの使い方について
-
標準モジュールを削除したい。(...
-
エクセルVBA クラスモジュール...
-
Excel VBA 『Call』で呼び出す...
-
'Range'メソッドは失敗しました
-
グラフのX,Y座標を取得したい
-
Excel VBA 標準モジュール内で...
-
大量の標準モジュールを解放す...
おすすめ情報
Excel VBA 別Bookへの値渡したいです。といいますか、
別のModuleに値を渡したいです、