Excel VBA質問箱 IV

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

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


18703 / 76732 ←次へ | 前へ→

【63467】Re:エラー発生後、次のプロシージャを呼び出さない
発言  seg  - 09/11/9(月) 10:59 -

引用なし
パスワード
   ▼なみ さん:
>Sub Test ()
>
>Call 処理1
>Call 処理2
>Call 処理3
>
>End Sub

>処理2のプロシージャ内でエラー処理をしています。
エラー処理は、上位のプロシージャで行って下さい。

>処理2でエラー発生しても、そのまま処理3へ進んでしまいます
>これを止める方法はないのでしょうか?
全体の処理は、処理1/2/3なので、それぞれの関数は、成功したかどうかを
返しましょう。
こんな感じです。

' 概要 :整数Aと整数Bは同じかチェックするプロシージャ
' 戻り値:同じ 0 違う -1
Private Function 処理1(a As Integer, b As Integer) As Integer
  ' 初期化
  処理1 = -1
  
  If (a = b) Then 処理1 = 0

End Function

その戻り値を元に、以下の様に判定しましょう。

Sub test()

  If (処理1 <> 0) Then GoTo ERR_HANDLER
  If (処理2 <> 0) Then GoTo ERR_HANDLER
  If (処理3 <> 0) Then GoTo ERR_HANDLER
  
  Exit Sub
  
ERR_HANDLER:

  ' エラー処理
  
End Sub

6 hits

【63464】エラー発生後、次のプロシージャを呼び出さない なみ 09/11/9(月) 9:46 質問
【63465】Re:エラー発生後、次のプロシージャを呼び... Jaka 09/11/9(月) 10:17 発言
【63468】Re:エラー発生後、次のプロシージャを呼び... なみ 09/11/9(月) 11:58 お礼
【63467】Re:エラー発生後、次のプロシージャを呼び... seg 09/11/9(月) 10:59 発言
【63469】Re:エラー発生後、次のプロシージャを呼び... なみ 09/11/9(月) 13:21 お礼
【63470】Re:エラー発生後、次のプロシージャを呼び... seg 09/11/9(月) 13:55 発言
【63472】Re:エラー発生後、次のプロシージャを呼び... でれすけ 09/11/9(月) 21:40 回答
【63479】Re:エラー発生後、次のプロシージャを呼び... seg 09/11/10(火) 9:28 発言

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