我正尝试使用VBA将动态公式添加到单元格。我已经看过几篇文章,但我无法弄清楚我做错了什么。 “对象__工作表失败”的“方法范围”中出现运行时错误“1004”。我究竟做错了什么?如何使用VBA将动态公式添加到单元格引用?
Sub AddFormulas()
Dim LastNumberRow As Integer
Set countBase = Sheet7.Range("CU2")
colCount = Sheet7.Range(countBase, countBase.End(xlToRight)).Columns.Count
Dim startCount As Integer
startCount = 98
For i = 1 To colCount
If IsNumeric(Cells(2, startCount + i)) Then
Sheet7.Range(3, i).Formula = "=Sheet6!" & Cells(3, startCount + i).Address & "*" & "Sheet7!" & Cells(3, colCount + startCount).Address
Else
'Do some stuff
End If
Next i
End Sub
我从下面的评论中添加了建议的更改,但没有获得文件资源管理器弹出窗口。我已经改变了我的代码有以下变化:
If IsNumeric(Sheet7.Cells(2, startCount + i)) Then
Set bSum = Sheet7.Cells(3, colCount + startCount)
Set bSpr = Sheet6.Cells(3, startCount + i)
Sheet7.Cells(3, i).Formula = "=Sheet6!" & bSpr.Address() & "*" & "Sheet7!" & bSpr.Address()
'Sheet7.Range(3, i).Formula'应该是Sheet7.Cells(3,i).Formula' –
为此,请确保您在IsNumeric():'Sheet7.Cells(2,startCount + i)中引用了正确的工作表。 '或'Sheet6.Cells(2,startCount + i)' –
另外,你期望'Cells(3,startCount + i)'和'Cells(3,colCount + startCount)'是什么表格?您应该在之前添加工作表名称/索引,例如'Sheet7.Range()'。 – BruceWayne