Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


38783 / 76738 ←次へ | 前へ→

【43087】Re:孫SUB内で プログラム全てを終了する方法
発言  [名前なし]  - 06/10/1(日) 21:35 -

引用なし
パスワード
   '-----------------------------------------------------------
'※方法1 attentionを初期化するコードを追加する
'-----------------------------------------------------------
Option Explicit
Public attention As Byte

Sub A1()
  attention = 0 'B1実行前にattentionを初期化
  
  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

'-----------------------------------------------------------
'※方法2 B1をFunctionにする
'-----------------------------------------------------------
Option Explicit
Sub A1()
  If B1 Then 'B1の戻り値=Trueの場合は、実行=否と判断し、終了する。
    MsgBox "終了", vbExclamation
    Exit Sub '#1
  End If
 
  C1
End Sub

Function B1() As Boolean
  'プログラムを実行するか判断する
  If Cells(1, 1) = 1 Then '#2
    B1 = True
  Else
    B1 = False
  End If
End Function

Sub C1() '実際に計算したい内容
  Cells(2, 1) = Cells(3, 1) + Cells(4, 1)
End Sub


オススメは後者(方法2)です。

0 hits

【43085】孫SUB内で プログラム全てを終了する方法 こま 06/10/1(日) 21:01 質問
【43087】Re:孫SUB内で プログラム全てを終了する方... [名前なし] 06/10/1(日) 21:35 発言
【43088】Re:孫SUB内で プログラム全てを終了する... neptune 06/10/1(日) 21:40 回答
【43149】Re:孫SUB内で プログラム全てを終了する... こま 06/10/3(火) 19:33 お礼

38783 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free