Excel VBA質問箱 IV

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

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


3852 / 13645 ツリー ←次へ | 前へ→

【59830】マクロ間で変数のやりとり 山野 09/1/10(土) 18:44 質問[未読]
【59831】Re:マクロ間で変数のやりとり かみちゃん 09/1/10(土) 18:53 発言[未読]
【59838】Re:マクロ間で変数のやりとり ichinose 09/1/11(日) 9:24 発言[未読]

【59830】マクロ間で変数のやりとり
質問  山野  - 09/1/10(土) 18:44 -

引用なし
パスワード
   VBAのマクロ間で変数のやりとりはできないものでしょうか?
以下のaaaマクロ中で定義した変数aをマクロbbbにとりこみたいのです。
よろしくお願いします。

Sub aaa()
  :
  A = 120
  :
End sub()


Sub bbb()
  :
  B = A + 20
  :
End sub()

【59831】Re:マクロ間で変数のやりとり
発言  かみちゃん E-MAIL  - 09/1/10(土) 18:53 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>VBAのマクロ間で変数のやりとりはできないものでしょうか?
>以下のaaaマクロ中で定義した変数aをマクロbbbにとりこみたいのです。

以下のような感じではいかがでしょうか?
変数を宣言するクセをつけるようにしましょう。

Public A As Integer '←記述位置がポイント

Sub aaa()
  A = 120
End Sub

Sub bbb()
 Dim B As Integer
 B = A + 20
 MsgBox B
End Sub

以下のあたりも参考にしてみてください。(VBA変数の解説がひととおりされています)
http://pc.nikkeibp.co.jp/article/NPC/20070803/279038/

【59838】Re:マクロ間で変数のやりとり
発言  ichinose  - 09/1/11(日) 9:24 -

引用なし
パスワード
   おはようございます。

モジュールレベルの変数を使ってのデータのやり取りも
必要な場合もあります。

が、

パラメータ渡しで処理できないか? という検討を最初に行ってください。


>VBAのマクロ間で変数のやりとりはできないものでしょうか?
>以下のaaaマクロ中で定義した変数aをマクロbbbにとりこみたいのです。
>よろしくお願いします。
>
>Sub aaa()
>  :
>  A = 120
  Call bbb(A)
>  :
>End sub()
>
>
>Sub bbb(足す数 as Variant)
>  :
  B = 足す数 + 20
>  :
>End sub()

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