我有一个Excel电子表格,我想将以下公式复制到VBA中的所有行:
=INDEX('Sales Orders'!A:Z,SMALL(IF('Sales Orders'!A:A='Service Requests'!A2,ROW('Sales Orders'!A:Z)),ROW('Sales Orders'!1:1))*1,21)
在VBA中,它看起来像这样:
Range("BD2").Select
Selection.FormulaArray = _
"=INDEX('Sales Orders'!C[-55]:C[-30],SMALL(IF('Sales Orders'!C[-55]='Service Requests'!RC[-55],ROW('Sales Orders'!C[-55]:C[-30])),ROW('Sales Orders'!R[-1]))*1,21)"
然后我必须将其复制到最后一行:
Selection.AutoFill Destination:=Range(ActiveCell, Cells(Cells(Rows.Count, "BC").End(xlUp).Row, "BD"))
因此,下面的行现在会在“服务请求”中查找A3
,但它也会将“销售订单”中要查找的实例更改为2:2
- 这不是预期的
如何让它更改A
值而不是实例值?