|
> On Error GoTo MyErr
> For e = 0 To UBound(MyData)
>
> MyErr:
> On Error GoTo 0
> Next i
[On Error GoTo xxx]でエラー処理ルーチンを開始した後に、
エラー処理ルーチンを抜ける命令は[On Error GoTo 0]ではありません。
それではエラー処理ルーチンは抜け出せません。
その後も、ず〜っとエラー処理ルーチンの『中』です。
エラー処理ルーチン実行中には「更なるエラー処理ルーチンの実行」は
行なわれません。その為
> 一回はエラー回避で飛ばせるものの、2回以降、エラーが発生すると、
> エラー回避をしてくれません
となります。
[On Error GoTo xxx]でエラー処理ルーチンを開始した後に
エラー処理ルーチンを抜ける命令は(頭に On Error が付かない)[Resume xxx]です。
こういう時のエラー対処は、普通は下記のようにします。
j = -1
On Error Resume Next
j = UBound(MyData)
On Error GoTo 0
If (j <> -1) Then
For e = 0 To j
(中略)
Next e
Erase MyData
End If
|
|