【发布时间】:2021-02-20 20:38:59
【问题描述】:
我有一个 Excel 电子表格,其中包含许多工作表,这些工作表因一个用例而异。在此示例中,假设我有 3 张名为 "Lever 1"、"Lever 2" 和 "Lever 3" 的工作表。对于其中的每一个,还有 3 个标题如下的工作表:
对于工作表"Lever 1" - "Lever 1Query1", "Lever 1Query2", "Lever 1Query3"
对于工作表"Lever 2" - "Lever 2Query1", "Lever 2 Query2", "Lever 2Query3"
对于工作表"Lever 3" - "Lever 3Query1", "Lever 3Query2", "Lever 3Query3"
等等
我正在尝试编写一个 VBA 脚本,该脚本将在所有 "Lever X" 表格中输入以下公式:
=INDEX('Lever XQuery2'!$C$2:$C$10000,MATCH(1,($F4='Lever XQuery2'!$B$2:$B$10000)*($G4='Lever XQuery2'!$A$2:$A$10000),0))
到目前为止,我有这个 VBA 代码,希望有人可以帮我修复:
For i = 1 To wBk.Worksheets.Count
Sheets("Lever " & i).Range("I4:I10000").Values = WorksheetFunction.Index(Range("'Lever " & i & "Query2'!$C$2:$C$10000"), _
WorksheetFunction.Match(1, ("$F4"=Range("'Lever " & i & "Query2'!$B2$:$B$10000")) _
* ("$G4"=Range("'Lever " & i & "Query2'!$A2$:$A$10000")),0)
Next i
【问题讨论】:
-
什么有效,什么无效?您具体需要哪些方面的帮助?我的意思是我希望该循环在找不到具有该编号的工作表时会引发错误,但其余的工作是否正常?
-
@ChristoferWeber 循环返回错误,这很好。问题是 VBA 代码没有在任何工作表中填充公式。这让我觉得我编写索引/匹配公式的方式有问题