为什么我的自动填充公式会被宏修改?

时间:2016-12-15 12:32:05

标签: excel vba macros formula autofill

我使用以下解决方案从宏中自动填充公式。

enter link description here

代码调用了以下行:

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)

我在这里做错了什么? 感谢

1 个答案:

答案 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)"