Excel 多准则XLOOKUP
我试图将多标准XLookup公式转换为VBA,但我不断得到 错误13类型不匹配 使用单一标准的简单XLookup很好,所以这一定与我尝试连接需求的方式有关Excel 多准则XLOOKUP,excel,vba,Excel,Vba,我试图将多标准XLookup公式转换为VBA,但我不断得到 错误13类型不匹配 使用单一标准的简单XLookup很好,所以这一定与我尝试连接需求的方式有关 Sub Test1() 'This works fine Range("F18").Value = Application.WorksheetFunction.XLookup(Range("F13").Value, Range("C:C"), Range("A:A")) 'This gives Error 13 T
Sub Test1()
'This works fine
Range("F18").Value = Application.WorksheetFunction.XLookup(Range("F13").Value, Range("C:C"), Range("A:A"))
'This gives Error 13 Type Mismatch
Range("H18").Value = Application.WorksheetFunction.XLookup(Range("H11").Value & Range("H13").Value, Range("C:C") & Range("D:D"), Range("A:A"))
End Sub
本机公式
=XLOOKUP(H11&H13,C:C&D:D,A:A)
在Excel中运行良好,因此必须有一种在VBA中编写此公式的方法。只是一个旁注,在查找或匹配中串联值很少是一个好主意。。。。如果将US
和A
连接起来,然后在连接U
和SA
的列中查找此值,则如何处理?在VBA中,您不能Range(“C:C”)和Range(“D:D”)
。。。这是在尝试连接两个数组。继续@BigBen的评论-您希望结果是范围(“C:D”)
在范围(“C:C”)和范围(“D:D”)
中的XLOOKUP
语句的一部分吗?函数中的@looksame-&
在VBA中不会以同样的方式工作。您可以使用评估可能。@BigBen-这很有效,谢谢。我不熟悉Evaluate,但是Range(“H18”).Value=Application.Evaluate(“=XLOOKUP(H11&H13,C:C&D:D,A:A)”)
做了我想做的事。只是一个旁注,在查找或匹配中串联值很少是个好主意。。。。如果将US
和A
连接起来,然后在连接U
和SA
的列中查找此值,则如何处理?在VBA中,您不能Range(“C:C”)和Range(“D:D”)
。。。这是在尝试连接两个数组。继续@BigBen的评论-您希望结果是范围(“C:D”)
在范围(“C:C”)和范围(“D:D”)
中的XLOOKUP
语句的一部分吗?函数中的@looksame-&
在VBA中不会以同样的方式工作。您可以使用评估可能。@BigBen-这很有效,谢谢。我不熟悉Evaluate,但Range(“H18”).Value=Application.Evaluate(“=XLOOKUP(H11&H13,C:C&D:D,A:A)”)
做了我想做的事。