excel - 应用带有保留公式的宏
问题描述
在将不同的值复制到相关单元格后,我想保留现有的公式。
我是 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
解决方案
如果您在没有绝对单元格引用的情况下复制该公式,您最终会得到#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
推荐阅读
- javascript - 使用html2pdf库时如何处理多种屏幕尺寸?
- c++ - 如何从第一个参数推断出第二个参数类型?
- swift - 如何在 Swift 中的 View 中控制 TableView
- math - 为什么 3D 旋转矩阵方法通常使用单独的向量和角度而不是常规的欧拉角?
- c++ - 结构数组的构造函数错误,错误消息:没有构造函数实例与参数列表匹配
- python - 枚举所有具有 5 个节点的无环有向图的 Python 代码
- kdb - KDB - 通过任务计划程序运行 .bat 时,CSV 导出不起作用
- python - 根据 self.questions 列表为答案创建 if, else 语句
- c# - API 过滤器和验证
- javascript - jQuery 显示调试器而不是输出