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

我已经使用以下解决scheme自动从macros中填充公式。

在这里input链接描述

代码调用以下行:

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 

使用这个例子,我创build了以下代码片段:

 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) 

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

您的公式中没有使用R1C1引用。

您需要replace'My Excel Tab name'!A:DR1C1相当,这将是'My Excel Tab name'!C1:C4 (第1到4列),所以你的公式应该是这样的:

 "=VLOOKUP(RC1,'My Excel Tab name'!C1:C4,4,FALSE)"