Excel 使用宏将公式粘贴到一系列单元格中

Excel 使用宏将公式粘贴到一系列单元格中,excel,vba,Excel,Vba,我试图将一个公式粘贴到一系列单元格中(我只希望粘贴到K列的最后一行),但我一直遇到语法错误 With ThisWorkbook With .Sheets("Ex") lRow4 = .Cells(.Rows.count, 1).End(xlUp).Row Set rng4 = .Range("J6:J" & lRow4) rng4. FormulaR1C1."=IF(RC[1]='Lease & RPM Charges'!R[-4]C[-6],UPPER(

我试图将一个公式粘贴到一系列单元格中(我只希望粘贴到K列的最后一行),但我一直遇到语法错误

With ThisWorkbook
With .Sheets("Ex")
    lRow4 = .Cells(.Rows.count, 1).End(xlUp).Row
    Set rng4 = .Range("J6:J" & lRow4)
    rng4. FormulaR1C1."=IF(RC[1]='Lease & RPM Charges'!R[-4]C[-6],UPPER(TEXT(REPLACE(REPLACE('Lease & RPM Charges'!R[-4]C[-7],5,0,""-""),8,0,""-""),""DD-mmm-YY"")))"
End With

End With
End Sub 
注意

.Cells(.Rows.count, 1).End(xlUp).Row
提供第1列的最后一行,即A列。
你可以用

.Cells(.Rows.count, "K").End(xlUp).Row
而是获取列K中最后使用的行


同样
rng4。公式1c1。
应为
rng4。公式1c1=

With ThisWorkbook.Sheets("Ex")
    lRow4 = .Cells(.Rows.count, "K").End(xlUp).Row
    Set rng4 = .Range("J6:J" & lRow4)
    rng4.FormulaR1C1 = "=IF(RC[1]='Lease & RPM Charges'!R[-4]C[-6],UPPER(TEXT(REPLACE(REPLACE('Lease & RPM Charges'!R[-4]C[-7],5,0,""-""),8,0,""-""),""DD-mmm-YY"")))"
End With

我做了你建议的更改,但我仍然有语法errors@Leena如果你不告诉我哪一个错误和哪一行,我们就无能为力了。@Leena我在我的工作簿中编写了这段代码,在代码的最后一行之前都可以正常工作,因为我的excel不是英文的,所以无法工作。我相信你的公式是错误的,如果你尝试手动操作,遗漏了一些会给你带来错误的东西。@Damian这对任何本地化都有效,因为
FormulaR1C1
采用了英语公式<代码>公式1c1local用于本地化公式(非英语公式)。因此,上面的代码适用于任何语言版本。不过公式可能是错的,所以莉娜应该检查一下公式。哦,对不起,我漏掉了一个“'s”