vba - VBA-错误时如何进入下一个迭代循环

标签 vba for-loop error-handling

我有下面的代码,并且在Vlookup公式中发现错误时,我无法跳到下一个交互(i)。它给我错误“编译错误子或未定义函数”

例如,如果Vlookup公式在第二次互动(i = 2)中出现错误,则代码应跳过下一行代码,然后转到下一次互动(i = 3)

For i = 1 To 10:
   If Range("A" & i).Value = "" Then
Else

    On Error GoTo Handler

    datavalue = Application.WorksheetFunction.VLookup(Sheets("DataManipulation").Range("A" & i), Sheets("ExtractQ1").Range("A1:G1048576"), 4, False)

    Sheets("DataManipulation").Range("B" & i).Value = datavalue

Handler:
   Next i

   End If

Next i

最佳答案

我会用On Error Resume Next:

For i = 1 To 10:
   If Range("A" & i).Value = "" Then

   Else
      On Error Resume Next
      datavalue = Application.WorksheetFunction.VLookup(Sheets("DataManipulation").Range("A" & i), Sheets("ExtractQ1").Range("A1:G1048576"), 4, False)
      If Err = 0 Then
          Sheets("DataManipulation").Range("B" & i).Value = datavalue
      End If
      On Error Goto 0 ' Reactivate normal error reporting
   End If    
Next i

关于vba - VBA-错误时如何进入下一个迭代循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48775541/

相关文章:

excel - 如何通过打开文件来打开用户界面

php - Heroku,我正在尝试将Google2fa添加到我的Heroku Web服务器中,但它的响应是419页已过期

grails - 如何在Grails中实现错误处理?

Android ListView 添加太多项目

c++ - C++矩阵* vector 乘法中的错误

javascript - 使用axios接收到403错误时如何停止writestream创建文件

vba - 从 Excel VBA 检查 Internet 连接

oracle - 对象关闭时不允许执行 ADO Oracle 操作

excel - 如何使用VBScript有效刷新多个Excel电子表格的外部数据?

iphone - 如何停止 for 循环并执行另一个方法,然后返回继续执行 Objective-C?