|
Public P1 As Long, P2 As Long
'どの標準モジュールに書いてもかまいませんが、全モジュール通して1個だけ。
Private Sub main()
aaaaa
bbbbb
ccccc
End Sub
'下の Private Sub は、上と同モジュールに書いてください。
'他モジュールに書きたいのなら、Private を取ってください。
Private Sub aaaaa()
P1 = 1
P2 = 10
End Sub
Private Sub bbbbb()
P1 = P1 + P1
P2 = P2 + P2
End Sub
Private Sub ccccc()
MsgBox P1
MsgBox P2
End Sub
'--------------------------
Sub 最後に単体で実行してみる() '他モジュールでもかまいません。
MsgBox P1 'しつこく保持しているのが解る?
MsgBox P2
End Sub
グローバル変数は、意外としつこく保持しているみたいですが、
いつ何時、内容が失われるか解りません。
前にテストした時に5時間後ぐらいに「最後に単体で実行してみる」を実行してみたら、まだ保持していた。
その間、エクセルやそのブックは閉じませんでしたが、インターネット、同エクセル内の他ブックにてVBA回答用のテストなどをしていたにもかかわらず。
エクセルVarによっても違うでしょうが、過信は出来ません。by97
変数が内容を保持しているとおもって、時間がたってから変数の内容を当てにして、単体で実行するコードを書くのは、止めた方が良いです。(意味が通じるかなぁ?)
1度覗いてみてください。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=7011;id=excel
|
|