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

时间:2017-06-27 12:18:57

标签: excel vba excel-vba

我正在引用另一个已关闭的工作簿来执行VLOOKUP。手动输入单元格有效,但VBA中的此代码返回错误"类型不匹配。"我错过了什么?

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

1 个答案:

答案 0 :(得分:2)

你想要的公式是

=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单元格中复制公式,然后用"替换每个""

测试场景

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

<强>截图 enter image description here