我使用以下解决方案从宏中自动填充公式。
代码调用了以下行:
Sub FillData()
Dim rng1 As Range
Set rng1 = Range([a1], [a1].End(xlDown))
If Not (rng1.Rows.Count = Rows.Count And Len([a1].Value) = 0) Then rng1.Offset(0, 3).FormulaR1C1 = "=RC2"
End Sub
使用此示例,我创建了以下代码段:
If Not (rng1.Rows.Count = Rows.Count And Len([a1].Value) = 0) Then rng1.Offset(1, 4).FormulaR1C1 = "=VLOOKUP(RC1,'My Excel Tab name'!A:D,4,FALSE)"
然而,最终在单元格中的公式确实在A:D中的D周围有括号,看起来像这样:
=VLOOKUP($A3,'SubstationsPJM-New'!A:(D),4,FALSE)
我在这里做错了什么? 感谢
答案 0 :(得分:1)
您未在公式中使用R1C1
引用。
您需要将'My Excel Tab name'!A:D
替换为R1C1
等效的'My Excel Tab name'!C1:C4
(第1列到第4列),这样您的公式应如下所示:
"=VLOOKUP(RC1,'My Excel Tab name'!C1:C4,4,FALSE)"