在将其他值复制到相关单元格后,我想保留现有公式。
我是Excel VBA的初学者,需要解决一个问题。我在单元格A1中具有上一期间的累计总计值。单元格B1是本月的值。最后是C1,它将上一个期间和本月相加,得出累计总值。
所以我已经为此编写了一个宏,但是下个月我需要将值复制到C1并将其粘贴到A1,这样它将自动再次对a1 + b1求和并写入c1。但是,当我将宏用于复制值时,它将破坏求和公式。
Sub sumfunc()
Range("C1").Formula = "=A1+B1"
Range("C1:C3").FillDown
End Sub
Sub copyfunc()
Worksheets("Sheet1").Range("C1:C3").Copy _
Destination:=Worksheets("Sheet1").Range("A1")
End Sub
答案 0 :(得分:1)
如果您在不使用绝对单元格引用的情况下复制该公式,则结果为#REF!发生错误,因为您尝试引用A列左侧的一列。如果使用绝对引用,则将获得循环引用,因为该公式包含对该单元格所在单元格的引用。
您需要复制从公式返回的值,并将其添加到目标,而不是公式本身。这样,C列中公式的值将反映出不断增长的总和。
Sub sumfunc()
Worksheets("Sheet1").Range("C1:C3").Formula = "=A1+B1"
End Sub
Sub copyfunc()
with Worksheets("Sheet1")
.Range("C1:C3").Copy
.Range("A1").pastespecial paste:=xlpastevalues, operation:=xladd
end with
End Sub