VBA:我可以将公式添加到一系列单元格中,但不能添加到1单元格中

我想我已经尝试了所有的东西,而且总是遇到可怕的运行时错误“1004”:应用程序定义或对象定义的错误。

Dim wsMaster As Workbook Set wsMaster = ActiveWorkbook (Other stuff) With wsMaster.Worksheets(1) .Activate .Range(Cells(startRow, 20), Cells(endRow, 25)).FormulaR1C1 = "=RC[-12]*RC15/R" & startRow & "C16" .Range(Cells(startRow, 26), Cells(startRow, 31)).FormulaR1C1 = "=SUM(RC[-6]:R" & endRow & "C[-6])" .Range("R" & startRow & "C16").FormulaR1C1 = "=SUM(R" & startRow & "C[-1]:R" & endRow & "C[-1]" End With 

有趣的部分是代码只会在第三个公式赋值行上抛出一个错误。 其他行按预期运行,并在指定范围内插入适当的公式。 我已经尝试了很多不同的方法来引用单元格,但是我每次都会遇到错误。

我检查了当地人的屏幕,并将startRow设置为2,endRow设置为8。

我很感激任何帮助这个神秘的问题!

就在蝙蝠我注意到你错过了一个:(冒号)

 .Range("R" & startRow & "C16") should be .Range("R" & startRow & ":C16") 

我注意到的其他问题是第三个公式。 您错过了括号和括号:

 "=SUM(R" & startRow & "C[-1]:R" & endRow & "C[-1]" should be: "=SUM(R[" & startRow & "]C[-1]:R[" & endRow & "]C[-1])" 

下面是整个第三行,使用相同的格式,以上引用的更正。

 .Range("R" & startRow & ":C16").FormulaR1C1 = "=SUM(R[" & startRow & "]C[-1]:R[" & endRow & "]C[-1])" 

要引用单个单元格,可以使用Cells(row, column)属性。

在你的代码中,改变

 .Range("R" & startRow & "C16").FormulaR1C1 = "=SUM(R" & startRow & "C[-1]:R" & endRow & "C[-1]" 

 .Cells(startRow, 16).FormulaR1C1 = "=SUM(R" & startRow & "C[-1]:R" & endRow & "C[-1]"