牛、豚、鶏、どれか一つ食べられなくなるとしたら?

全ての変数を一気にリセットする方法はありますか?

Sub test()
Dim i As Integer
Dim int1 As Integer
Dim int2 As Integer

int1 = 1
int2 = 2

For i = 1 To 100
'プロシージャー

int1 = 0 'リセット
int2 = 0 'リセット

Next

End Sub

みたいなコードがあり、
ループが終わる度に変数をリセットしたい場合

int1 = 0 'リセット
int2 = 0 'リセット

のように一つ一つ変数に値を入れてリセットするしかないですか?

例のコードは二つしか変数が有りますが
実際100個くらいの変数が有る場合も、
一個一個リセットするしかないのでしょうか?

理想としては、VBAを中断したら全ての変数がリセットされますが
それと同じようなコードが有れば、楽だなと思います。

A 回答 (2件)

Sub test()


Dim i As Integer7
Dim intArray(2) As Integer

intArray(1) = 1
intArray(2) = 2

For i = 1 To 100
 'プロシージャー

 'リセット
 Erase intArray
 ReDim intArray(2)

Next

End Sub
    • good
    • 3

グローバル変数をまとめてゼロクリアしたければ、それ専用の関数作ればいいじゃないとか思うんですが、そういう問題ではない?



次に同じ変数を別の場所で使おうとしたら、どのみち何らかの値を入れなきゃいけないわけで、それを省くのは原理的に無理ってことになるのでは…

ループ自体を関数にして、ループ内はローカル変数で処理するとかじゃダメなんですかね。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A