excel - VBA错误处理: How to bypass line that has error and stops code?

标签 excel error-handling excel-2010 vba

我的代码功能是通过/失败列中提取所有具有“失败”的贷款,并将条件复制到另一个工作簿。我的问题是,确定通过/失败的公式要求贷款编号位于条件列之一中,否则它将返回“错误2023”的值。

在下面的代码中,由于“错误2023”,我收到类型不匹配错误。我最初的想法是使用“On Error Resume Next”,以便如果我的值= Error 2023,它将转到下一行并绕过该错误,仅拉出失败......但是我是错误处理的新手也不知道该怎么写。这是解决此问题的正确方法吗?

assignmentRow = 4
For x = 4 To lastRow

Windows("POC Results.xlsm").Activate

If Range("BE" & x).Value = "Fail" Then 'goes through workbook checking for "Fail"
Range("B" & x, "F" & x).Copy 'copies first criteria and pastes
Windows("Failed Audit Assigments.xlsm").Activate
Sheets("POC").Range("B" & assignmentRow).PasteSpecial Paste:=xlPasteValues

Windows("POC Results.xlsm").Activate
Range("BF" & x).Copy 'copies 2nd criteria and pastes
Windows("Failed Audit Assigments.xlsm").Activate
Sheets("POC").Range("G" & assignmentRow).PasteSpecial Paste:=xlPasteValues

assignmentRow = assignmentRow + 1
End If

Next x

最佳答案

根据您对另一个答案的最新评论,您可以在检查该单元格是否包含“失败”之前,在独立的代码行中检查错误。

    assignmentRow = 4
    For x = 4 To lastRow
        Windows("POC Results.xlsm").Activate
        If Not IsError(Range("BE" & x).Value) Then 'check for cell error value first
            If Range("BE" & x).Value = "Fail" Then 'goes through workbook checking for "Fail"
                Range("B" & x, "F" & x).Copy 'copies first criteria and pastes
                Windows("Failed Audit Assigments.xlsm").Activate
                Sheets("POC").Range("B" & assignmentRow).PasteSpecial Paste:=xlPasteValues

                Windows("POC Results.xlsm").Activate
                Range("BF" & x).Copy 'copies 2nd criteria and pastes
                Windows("Failed Audit Assigments.xlsm").Activate
                Sheets("POC").Range("G" & assignmentRow).PasteSpecial Paste:=xlPasteValues

                assignmentRow = assignmentRow + 1
            End If
        End If
    Next x

检查单元中的错误值应独立进行;不能与其他标准一起使用And串在一起。

关于excel - VBA错误处理: How to bypass line that has error and stops code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27722297/

相关文章:

vba - 从 Excel 保存 csv 会丢失小数点精度

excel - 如何在 VBA 中声明 PtrSafe Sub? Windows 7、Excel 2016、64 位

python - 为什么此代码会导致 Excel 中出现按字母顺序排列的列列表?

excel - 使用列号删除多列

ruby - 测试错误处理的正确方法是什么?

php - 如何在 PHP/Magento 中捕获这个低级别的 MySQL(?)错误

asp.net - Visual Basic最大文件大小错误

python - 使用pywin32,Dispatch和DispatchEx有什么区别?

excel - 优化 Excel 公式 - SUMPRODUCT 与 SUMIFS/COUNTIFS

VBA通过部分名称识别工作簿