我试图将此excel公式插入到VBA代码中:
=IFERROR(VLOOKUP(E2,'Manual Flags'!$F$2:$L$902,7,0),"")
从本质上讲,我的主要工作表名为“ContractOrganization”需要还拉/使用VLOOKUP从另一个名为工作表“手动标记”和细胞(F2至L902),并打印结果到单元格L2参考数据
我尝试在下面添加一个vba代码,我提前设置我的工作表和变量来尝试清理代码,但没有任何工作 .
如何使用iferror和vlookup在vba中的公式中引用另一个工作表?
Sub AddFormula_ManualFlag()
Dim rng As Range
Dim ws1, ws2 As Worksheet
Dim result As String
Set ws1 = ThisWorkbook.Sheets("Manual Flags")
Set ws2 = ThisWorkbook.Sheets("ContractOrganization")
Set rng = ws2.Range("L2")
On Error Resume Next 'add this because if value is not found, vlookup fails, you get 1004
result = "=IFERROR(VLOOKUP(ws2.Range("E2"),ws1.Range("$F$2:$L$902").Value,7,0),"""")"
rng.Formula = result
End Sub
1 回答
首先删除
On Error Resume Next
,当您将公式放入单元格本身时,只有在使用Application.WorksheetFunction.Vlookup
时才需要它 .需要从引号中删除任何vba并与
&
连接: