【问题标题】:VBA .Formula Vlookup with Wildcard Returning Type Mismatch (Simple)VBA .Formula Vlookup 与通配符返回类型不匹配(简单)
【发布时间】:2017-06-27 12:18:56
【问题描述】:

我正在引用另一个已关闭的工作簿来执行 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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我猜你想要的公式是

    =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
    

    截图

    【讨论】:

    • 我已经更新了帖子。您可能需要刷新它才能看到更改
    • 我没有看到任何空间。查看我附上的屏幕截图
    • 工作。你真是个天才!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多