Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何处理vba中的错误?_Excel_Vba - Fatal编程技术网

Excel 如何处理vba中的错误?

Excel 如何处理vba中的错误?,excel,vba,Excel,Vba,我有名字吗-单元格上的错误,当我执行下面的代码时会产生运行时错误13。错误处理程序不工作,请告诉我原因?我解决不了这个问题 Sub loop() Dim RangeCell As Range x = 2 On Error GoTo Errorhandler For Each RangeCell In Worksheets(1).Range("A9050:A9055") If InStr(1, RangeCell, "99999") Then

我有名字吗-单元格上的错误,当我执行下面的代码时会产生运行时错误13。错误处理程序不工作,请告诉我原因?我解决不了这个问题

Sub loop()
Dim RangeCell As Range
x = 2

On Error GoTo Errorhandler

For Each RangeCell In Worksheets(1).Range("A9050:A9055")

    If InStr(1, RangeCell, "99999") Then
        ThisWorkbook.Worksheets(2).Cells(x, 1) = RangeCell.Value
        ThisWorkbook.Worksheets(2).Cells(x, 2) = RangeCell.Offset(-1, 0)
        ThisWorkbook.Worksheets(2).Cells(x, 3) = RangeCell.Offset(-2, 0)
        ThisWorkbook.Worksheets(2).Cells(x, 4) = RangeCell.Offset(-3, 0)
        If InStr(1, RangeCell.Offset(-4, 0), "Cat no:") Then
            ThisWorkbook.Worksheets(2).Cells(x, 5) = RangeCell.Offset(-4, 0)
            ThisWorkbook.Worksheets(2).Cells(x, 6) = RangeCell.Offset(-5, 0)
            Else
            ThisWorkbook.Worksheets(2).Cells(x, 6) = RangeCell.Offset(-4, 0)
            End If
        ThisWorkbook.Worksheets(2).Cells(x, 7) = RangeCell.Row
        ThisWorkbook.Worksheets(2).Cells(x, 8) = RangeCell.Offset(0, 28)
 x = x + 1
    End If
    
Errorhandler:
Debug.Print RangeCell.Address


Next RangeCell
End Sub
IsError(RangeCell)
Sub-loop()在我的电脑上被突出显示为非法语句,因此我怀疑您是否运行过此代码。定义“不工作”。它是否完全没有捕获错误,即没有跳转到
Errorhandler
标签?还是它一直在制造错误?另外:错误处理程序应该放在任何控制块之外。