これは明らかに非常に単純なExcel VBA Subです。信頼性の低い動作 - Excel VBAコード - 前例.Countステートメント
Public Sub CheckRef()
Dim Cell As Range
For Each Cell In Selection
On Error GoTo MyNext
If IsNumeric(Cell.Precedents.Count) Then
MsgBox (Cell.Address)
End If
MyNext:
Next Cell
End Sub
選択したセルにPrecedentsがある場合、メッセージボックスのセルアドレス。エラーの場合はForループのNext Cellに進みます。
このコードは、On Errorステートメントにもかかわらず
'NO細胞は見つかりませんでした'
実行時エラー1004を提供します。皮肉なことに、最初のインスタンスでは正しくスキップしますが、GIFへのこのScreenshotに示すように、次はエラーになります。
Selection C2:C4 C2 =SUM(A1+A2)
(メッセージボックス)、C3 =7+9
(正しくエスケープ)C4 =7+9
(実行時エラー1004)
は、私がここで作っています何の間違いに困惑しています。ちょうどそれがExcel 2013 SP1であり、VBAツール - >オプション - >一般 - >エラートラップ - >未処理エラーのブレークがデフォルトで選択されていることに言及してください。それ以上の助けがあれば素晴らしいだろう。ありがとう。
あなたは 'Resume'は、https://stackoverflow.com/questions/7653287/vba-error-handling-in-loop&https://stackoverflow.comを確認する必要があります/ questions/11998836/excel-vba-on-error-goto-statement-not-working-for-loop –