Set rng1 = Sheets("Reference").Range("a2:a2000")
Set rng2 = Sheets("Reference").Range("b2:b2000")
var1 = ActiveSheet.Range("c2").Value
var2 = c.Offset(0, -1).Value
c.Value = Application.Match(criteria1 & criteria2, rng1 & rng2, 0)
我正在尝试将两个变量从一个工作表匹配到另一个工作表,以查看该值是否存在于参考工作表中的两个条件,但我不断收到类型不匹配错误。匹配行是我收到错误的唯一行。
答案 0 :(得分:0)
您不能在VBA中使用多列MATCH查找。
您可以做的最好的事情是创建一个有效的公式和Evaluate
方法:
(未测试的)
Dim f As String, rng1, rng2, var1, var2, c As Range
Set c = Range("B6")
Set rng1 = Sheets("Reference").Range("a2:a2000")
Set rng2 = Sheets("Reference").Range("b2:b2000")
var1 = ActiveSheet.Range("c2").Value
var2 = c.Offset(0, -1).Value
f = "MATCH(""" & var1 & """&""" & var2 & """," & _
rng1.Address() & "&" & rng2.Address() & ", 0)"
c.Value = rng1.Worksheet.Evaluate(f)
对于不熟悉MATCH使用的人: https://www.deskbright.com/excel/index-match-multiple-criteria/