请求编写可重复为表格D7单元格公式累加30的代码
解决方法
核心思路
不用复杂判断,直接读取D7当前的公式内容,在末尾追加+30即可,不管当前公式已经累加了多少次,每次运行都能继续叠加。
VBA代码实现
Sub AddThirtyToD7() Dim currentFormula As String ' 取出D7的公式内容,去掉开头的等号 currentFormula = Mid(Range("D7").Formula, 2) ' 重新拼接公式,在原有内容后追加+30 Range("D7").Formula = "=" & currentFormula & "+30" End Sub
代码说明
- 单元格的
Formula属性返回的是带等号的完整公式(比如=C7+30),用Mid函数去掉第一个字符(等号),拿到纯计算部分。 - 重新组合公式时加上等号,再把
+30拼在后面,这样每次运行都会给现有公式多叠一层+30,完全符合需求。
之前尝试只生效一次的原因
大概率是你之前的代码加了条件判断,比如只在公式是=C7+30的时候才执行修改,第一次运行后公式发生变化,后续就不再触发修改逻辑了。上面的代码跳过了固定判断,直接对现有公式进行追加操作,所以每次运行都能生效。
内容的提问来源于stack exchange,提问作者Maryurs
相关产品推荐
相关产品推荐

