【发布时间】:2015-01-07 04:35:21
【问题描述】:
我正在尝试使用“索引”和“匹配”函数使用 2 个不同的标准(A 列和 G 列值)进行“vlookup”。
这是我用于 Excel 命令的行。
=INDEX(Database!A:KG,MATCH(1,(Database!A:A='TempSheet'!A2)*(Database!G:G='TempSheet'!G2),0),10)
我将如何使用 VBA 来做到这一点?它不断给我错误消息“编译错误:预期的语句结束”。
Selection= _
"=Index(DB.Range("A:KG"), Match(1, (DB.Range("A" = Temp.Range("A" & i).Value)) * (DB.Range("G" = Temp.Range("G" & i).Value)), 0), 10)"
谢谢
【问题讨论】:
-
"=INDEX(Database!A:KG,MATCH(1,(Database!A:A='TempSheet'!A2)*(Database!G:G='TempSheet'!G2),0),10)"呢? -
请在问题中显示您的实际代码,并使用代码查看器格式化。
-
您需要在文字字符串中转义双引号...此外,您不能在文字字符串中使用像
DB这样的变量名称。 -
如果您无法使复杂的表达式发挥作用,请尝试使用表达式的较小组件来构建它。例如,尝试让
Match表达式工作,然后分别使用Index。您需要使用Application.Worksheetfunction.或Evaluate- 您可以在此处查看语法msdn.microsoft.com/en-us/library/office/…(带有示例)。
标签: vba excel vlookup array-formulas