如何在VBA中将公式赋值给变量,再通过变量将公式写入单元格?
用VBA实现带公式引用的收益率计算与写入
核心需求
- 计算指定数据的收益率,把汇总结果写到单独单元格
- 单元格要显示带引用的完整公式,不能只显示计算值
- 把公式的核心计算部分(等号右边的内容)存进变量,再通过变量把公式写入单元格
正确实现代码
你提供的示例代码存在语法错误(缺少闭合括号),修正后的可用代码如下:
' 定义存储公式核心的字符串变量 Dim aReturnFormula As String ' 把收益率计算的核心表达式存入变量(示例为单条数据的收益率公式,可按需修改) aReturnFormula = "(RC[1]-RC[2])/RC[2]" ' 拼接完整公式并写入活动单元格 ActiveCell.FormulaR1C1 = "=" & aReturnFormula
扩展说明
- 如果需要做汇总类的收益率计算(比如多数据的平均收益率),只需修改变量里的表达式即可:
aReturnFormula = "AVERAGE(R[-10]C[1]:RC[1])" ActiveCell.FormulaR1C1 = "=" & aReturnFormula - 这种写法的好处是公式逻辑单独存储,后续修改或复用公式时更方便,同时确保单元格显示完整的引用公式,满足你能看到公式结构的需求
内容的提问来源于stack exchange,提问作者Astro
相关产品推荐
相关产品推荐

