|
SUBを重複して実行している場合に、
現在のSUBを抜けるのではなく、プログラムをその場で終了するコマンドはありますでしょうか?
例えば、下記のプログラムの場合、
1.A1を実行し、#1で終了した場合、変数attentionに「1」が残ってしまう。
2.次に
Cells(1, 1) = "" に変更して、A1を実行する。
本来なら、C1まで実行したいのに、
attenntion=1が残ってしまっている為に、#1で停止してしまう。
3.改善として、B1の#2で条件を満たした場合、
その場で、プログラムを終了する(A1も終了する)
という風に変更したらどうかと考えました。
上記以外に対策があればあわせて教えていただけたらと質問させていただきました。
よろしくお願いいたします。
例えのプログラムです------------------------------------
Option Explicit
Public attention As Byte
Sub A1()
B1 'プログラムを実行するか否かを判断 B1 を呼ぶ
If attention = 1 Then 'attention=1の場合は、実行=否と判断し、終了する。
MsgBox "終了", vbExclamation
Exit Sub '#1
End If
C1
End Sub
Sub B1() 'プログラムを実行するか判断する
If Cells(1, 1) = 1 Then #2
attention = 1
Exit Sub
End If
End Sub
Sub C1() '実際に計算したい内容
Cells(2, 1) = Cells(3, 1) + Cells(4, 1)
End Sub
|
|