【发布时间】:2018-03-13 15:06:34
【问题描述】:
我正在尝试将此 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
【问题讨论】: