我正在尝试找到与我的代码中位于两列和数组中的两个条件相匹配的第一个行号。
例如:
market = Array("market1", "market2", "market3"...)
report = Array("report1", "report2", "Report3"...)
rownumber = Application.Match(Range("B:B" & "L:L"), market(i) & report(z))
ws2.Range("N2").Value = rownumber
有没有办法做到这一点?如果您还有其他需要,请告诉我
提前致谢
答案 0 :(得分:1)
这是一个数组公式,因此无法使用Application.Match完成。您可以使用评估。
market = Array("market1", "market2", "market3"...)
report = Array("report1", "report2", "Report3"...)
Dim rownumber As Variant
rownumber = ws2.Evaluate("IFERROR(Match(""" & market(0) & report(0) & """,B:B & L:L, 0),""Not Found"")")
ws2.Range("N2").Value = rownumber
如果在ws2
找不到搜索范围,请将ws2
前面的.Evaluate
更改为找到数据的工作表。
但是当使用数组公式时,不应使用完整的列引用,尝试查找数据的范围并仅引用这些单元格。