プロが教えるわが家の防犯対策術!

Private Subを使う場合、それぞれで使用していた変数に格納された値は使用できないのでしょうか?
(それぞれ再度値を取得するしか方法が無いでしょうか?)

すみません、VBA初心者なので何を言いたいのか伝わりにくいと思いますので下記します。
(下記は最終行を取得するマクロですが、あくまでも例として挙げているだけです)

Sub Jikkou()
   Dim lastRowA As Variant: lastRowA = Cells(Rows.Count, "A").End(xlUp).Row

  Macro1

  lastRowB ←この場合、Empty値でしょうか?

  Macro2

  lastRowC ←この場合、Empty値でしょうか?

End Sub


Private Sub Macro1()
   lastRowA ←この場合、Empty値でしょうか?
Dim lastRowB As Variant: lastRowB = Cells(Rows.Count, "B").End(xlUp).Row
End Sub

Private Sub Macro2()
lastRowA ←この場合、Empty値でしょうか?
lastRowB ←この場合、Empty値でしょうか?
Dim lastRowC As Variant: lastRowC = Cells(Rows.Count, "C").End(xlUp).Row
End Sub

A 回答 (4件)

http://officetanaka.net/excel/vba/variable/05.htm

こちらが参考になるのでは?
    • good
    • 0
この回答へのお礼

ありがとうございました。
外に出せばいいということが分かりました。
これでプログラムすっきりできると思います。

お礼日時:2020/03/20 17:42

同じモジュール内であれば



dim lastRowA
dim lastRowB

sub jikkouの上につければ見られるようになります
    • good
    • 0
この回答へのお礼

ありがとうございました。
外に出せばいいということが分かりました。
これでプログラムすっきりできると思います。

お礼日時:2020/03/20 17:43

隣の家のヘルシー献立表は見れないし、中身を書き換えられないのよね。


隣の家から献立表のコピーをもらうか、隣の家の管理から町内会の管理に置き場所を変えるしかないのよね。
    • good
    • 0
この回答へのお礼

ありがとうございました。
外に出せばいいということが分かりました。
これでプログラムすっきりできると思います。

お礼日時:2020/03/20 17:42

No.1です。



Sub ~() って Private Sub ~() を端折っているだけですからね。
それに Sub ~ End Sub の中で宣言された変数はその中でしか使えないってのはNo.1のリンク先のサイトで書かれていると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
外に出せばいいということが分かりました。
これでプログラムすっきりできると思います。

お礼日時:2020/03/20 17:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!