请参阅先前发布的问题,网址为 Unable to use SUBSTITUTE(ADDRESS(MATCH))) combination as a range in a LOOKUP function in Excel
我建议该Excel公式使用Scott Craner的反向查找来标识一个值,并且可以:
=LOOKUP(2,1/((A:A=2018)*(B:B=31)),INDEX(A:AAA,0,MATCH("Employee2",1:1,0)))
在这种情况下,答案是数字15。
我想使用以下命令将其转换为VBA代码语句:
Dim i as Integer
i = Application.WorksheetFunction.Lookup(2, 1 / ((Range("A:A") = 2018) * (Range("B:B") = 31)),
Application.WorksheetFunction.Index(Range("A:AAA"), 0,
Application.WorksheetFunction.Match("Employee2", Range("1:1"), 0)))
它显示“运行时错误'13':类型不匹配”。
有人可以帮我弄清楚我做错了什么-将Excel公式转换为VBA?
谢谢您的帮助。