| 
    
     |  | Endというコマンドがありますが、普通これは使いません。 End ステートメントについてはHelpをご覧ください。
 #私は使ったことありませんが、困ったことはないです。
 
 一般的にこのような手法をとります。
 Sub A1()
 if B1=false then 'プログラムを実行するか否かを判断 B1 を呼ぶ
 exit sub
 end if
 If attention = 1 Then 'attention=1の場合は、実行=否と判断し、終了する。
 MsgBox "終了", vbExclamation
 Exit Sub '#1
 End If
 
 C1
 End Sub
 
 function B1() as boolean 'プログラムを実行するか判断する
 If Cells(1, 1) = 1 Then #2
 attention = 1
 B1=flase
 End If
 End function
 
 もうひとつ言えば
 Public attention As Byte
 などはPublic レベルの変数にはしません。
 例えば、こんなやり方もあります。
 #Public レベルの変数はバグの元ですから、極力避けるのが定石です。
 Sub A1()
 dim attention As Byte
 attention =0
 'プログラムを実行するか否かを判断 B1 を呼ぶ
 if B1(attention)=false then
 exit sub
 end if
 If attention = 1 Then 'attention=1の場合は、実行=否と判断し、終了する。
 MsgBox "終了", vbExclamation
 Exit Sub '#1
 End If
 
 C1
 End Sub
 
 function B1(buref pData as byte) as boolean 'プログラムを実行するか判断する
 If Cells(1, 1) = 1 Then #2
 pData = 1
 B1=flase
 End If
 End function
 
 全体的なロジックについてはわかりませんので、変更可能なところを
 変更しただけです。
 >#2
 って何?
 
 
 |  |