VBA.Formula Vlookup与通配符返回types不匹配(简单)

我正在引用另一个封闭的工作簿来执行VLOOKUP。 手动input单元格的工作,然而这个代码在VBA中返回一个错误“types不匹配”。 我错过了什么?

With ActiveSheet For i = 2 To .Cells(Rows.Count, 4).End(xlUp).Row .Cells(i, 5).Formula = "=VLOOKUP(""*""&$D" & i & "" * "" & ",'\\MyDirectory\[MyWorkbook.xlsx]MySheet'!$B:$D,3,FALSE)" Next i End With 

你想要的公式,我猜是

 =VLOOKUP("*"&$D1&"*",'\\MyDirectory\[MyWorkbook.xlsx]MySheet'!$B:$D,3,FALSE) 

这是你绑定的吗?

 Cells(i, 5).Formula = "=VLOOKUP(""*""&$D" & _ i _ & "&""*"",'\\MyDirectory\[MyWorkbook.xlsx]MySheet'!$B:$D,3,FALSE)" 

诀窍是从Excel单元格中复制公式,然后将每个" with ""

testing场景

 Sub Sample() Dim i As Long i = 1 Cells(i, 5).Formula = "=VLOOKUP(""*""&$D" & _ i _ & "&""*"",'\\MyDirectory\[MyWorkbook.xlsx]MySheet'!$B:$D,3,FALSE)" End Sub 

截图 在这里输入图像说明