有没有办法在Excel VBA中查找列dynamic?
我想要做这样的事情:
For i = 1 To 10 ActiveCell.FormulaR1C1 = _ "=VLOOKUP(THIS VALUE,'IN THIS TABLE RANGE,i,FALSE)" Next i
我想将我的值传递给列值来查找。
只需使用string操作如下:
ActiveCell.FormulaR1C1 = "=VLOOKUP(THIS VALUE,'IN THIS TABLE RANGE," & i & ",FALSE)"
如果使用R1C1
引用, FormulaR1C1
使用FormulaR1C1
,否则使用Formula
这会将公式放在名为SheetName
的工作表的第一行的第一行中:
With Sheets("SheetName") For i = 1 To 10 .Cells(1, i).Formula = "=VLOOKUP(THIS VALUE,IN THIS TABLE RANGE," & i & ",FALSE)" Next i End With
你可以在这样的事情之后
Cells(1, 1).Resize(, 10).FormulaR1C1 = "=VLOOKUP(""THIS_VALUE"",R2C1:R100C10,COLUMN(),FALSE)"
你必须改变的地方:
-
Cells(1, 1)
到您实际的单元格引用要开始编写公式 -
R2C1:R100C10
到R1C1
风格的实际“TABLE RANGE”地址 -
COLUMN()
使写入的单元格列索引与“TABLE RANGE”列之间的差别恰当(例如,它可以是某个COLUMN()-1
)