【发布时间】:2015-11-29 23:31:33
【问题描述】:
我有excel公式:
=INDEX('C:\Users\Desktop\[BOOK1.xlsx]Sheet1'!$J:$J,MATCH(A2,'C:\Users\Desktop\[BOOK1.xlsx]Sheet1'!$W:$W,0))
我在 Excel vba 中编写时遇到问题,这是我目前所拥有的:
Dim BOOK1 As Workbook
Dim bcklog1 As Worksheet
Set bcklog1 = BOOK1.Worksheets("backlog1")
Dim result As Variant
Dim match_formula As Variant
match_formula = "Match(Worksheets(1).Range("W:W"), 0)"
result = Evaluate(match_formula)
answer = Application.WorksheetFunction.Match(2, Worksheets(1).Range("W:W"), 0)
test = Application.WorksheetFunction.Index(Sheets("backlog1").Range("J:J"), result, 1)
index_formula = "Index(sales, result, )"
result2 = Evaluate(index_formula)
我无法获得任何结果,而且我的匹配公式不断出现错误。我的方法是否正确?某些结果将包含错误,这是意料之中的。该公式应在另一个工作簿中查找值并匹配它们。
【问题讨论】:
-
在你的代码中让我印象深刻的第一件事是你从来没有
SetBOOK1 到任何东西。 -
本地
A2在哪里进入您正在构建的公式?为什么不简单.Evaluate字符串公式,您可以在评估之前选择更改字符串中的 A2? -
@Ron Rosenfeld:为了让问题更简短,我省略了
BOOK1 set aspart。 -
@Jeeped:你能澄清一下吗?我似乎看不出那会去哪里。
-
您的原始公式包含
... MATCH(A2, ...,但字符串连接使用= Match(sales & PO, ...。它是哪一个? A2 是什么,在哪里?您是否尝试使用不同的 A2 创建新公式?