excel - 连接字符串以在 VBA 中构建公式
问题描述
我试图构建 VBA 代码来输入一个公式来总结一个范围。
我想要单元格 E30 中的公式
=SUM(E10:E20)
Sub calTotalOneOffExpense()
Dim startRow As Integer
Dim endRow As Integer
startRow = 10
endRow = 20
Range("E30:E30").Select
Dim sFormula As String
sFormula = "=Sum(E" & startRow & ":E" & endRow & ")"
ActiveCell.FormulaR1C1 = _
sFormula
End Sub
E30 中的公式变为
=SUM('E10':'E20')
解决方案
我认为您不了解 Formula 和 FormulaR1C1 之间的区别。你应该研究文档。公式需要 A1 样式的表示法。
ActiveCell.Formula = "=Sum(E" & startRow & ":E" & endRow & ")"
FormulaR1C1 需要 R1C1 样式的表示法
ActiveCell.FormulaR1C1 = "=Sum(R" & startRow & "C5:R" & endRowRow & "C5)"
这相当于
ActiveCell.Formula = "=Sum($E$10:$E$20)"
推荐阅读
- java - Spring Batch:ClassifierCompositeItemWriter 如何决定是创建一个新的编写器还是使用现有的编写器?
- c# - 我怎样才能通用这种方法
- python - pythone中类方法和静态变量的行为
- cassandra - 在 cassandra 中通过计算更新列
- android - 每次我尝试将图像上传到 Firebase 存储时,应用程序都会崩溃
- ios - 如何在 ios 应用程序中绘制图钉问题?
- ruby-on-rails - 重定向 URI 不匹配
- python - 用相同的值填充两个 pandas 列值之间的值
- ios - 为什么我的 UITextField 没有出现(尝试使用自动约束),没有 CGRect
- ios - 将多个图像上传到 Firebase