Vba 使用多个if/then语句而不出现运行时错误

Vba 使用多个if/then语句而不出现运行时错误,vba,Vba,不熟悉vba,尝试按顺序编写简单的if/then语句,以从不同的工作表返回值 If Cells(4, 4).Value = "water stress" Then Cells(15, 4).Value = Application.WorksheetFunction.VLookup(region, ws2.Range("a3:b12"), 2) End If If Cells(4, 4).Value = "fire" Then Cells(15, 4).Value = Appli

不熟悉vba,尝试按顺序编写简单的if/then语句,以从不同的工作表返回值

If Cells(4, 4).Value = "water stress" Then
    Cells(15, 4).Value = Application.WorksheetFunction.VLookup(region, ws2.Range("a3:b12"), 2)
End If

If Cells(4, 4).Value = "fire" Then
    Cells(15, 4).Value = Application.WorksheetFunction.VLookup(region, ws3.Range("a3:b12"), 2)
End If

当我只使用第一条if语句运行代码时,它运行良好。当我添加第二条if语句时,我得到一个运行时错误“1004”,并且无法获得worksheetfunction类的vlookup属性。我是新来的,不知道如何排除故障

从vlookups中删除
.worksheetfunction
。如果vlookup返回null或“#N/A”,则会抛出一个错误。没有它,公式将返回n/a作为结果。这是可行的,我得到的是一个n/a值,而不是运行时错误。但是在查看了我的函数和语法之后,它应该返回一个值。很难理解为什么它不能返回预期值。如果看不到您的数据和其他代码,我很难在这方面帮助您。您可能希望尝试的一件事是,将公式正常地放在单元格中,看看您得到了什么,然后确保
区域的值与您在数据中查找的值真正匹配,即大写相同,没有多余的空格。