公式R1C1中的变量字符串

时间:2017-08-22 21:27:07

标签: string vba excel-vba variables excel-r1c1-notation

我正在尝试使用R1C1格式创建一个公式,该格式将根据包含变量的字符串进行更改。我已经尝试创建字符串并在公式中输入它,以及在公式中创建字符串,似乎没有工作。以下是我的代码:

Dim NewXX As Integer
Dim NewXX1 As Integer
Dim CE As Integer
Dim PrevCE As Integer
Dim CEText As String

CE = Cells(NewXX - 1, 1).Value + 1
CEText = "=" & CE

ActiveCell.FormulaR1C1 = _
"=SUMIFS(R[-209]C8:R[1]C8,R[-209]C1:R[1]C1,CEText,R[-209]C2:R[1]C2,""<>Summary"")*(1+R1C16)"

CEText是每次运行宏时都会更改的变量。我试过的一些事情: CEText “” CEText “”, ' “&安培; CEText&安培;”', “CEText” “”= “” “&安培; CE&安培;”, “”= “” CE,

所有这些试验都会给我一个'预期:结束声明'错误,或者单元格中显示的公式与代码中的文本(非值)匹配。

任何帮助将不胜感激!我对VBA相当陌生,我总是想学习更好的做事方式! 谢谢!

1 个答案:

答案 0 :(得分:0)

在等同时不需要

CEText,因为CE是一个数字,我们只需要担心从公式字符串中移除并连接:

ActiveCell.FormulaR1C1 = _
"=SUMIFS(R[-209]C8:R[1]C8,R[-209]C1:R[1]C1," & CE & ",R[-209]C2:R[1]C2,""<>Summary"")*(1+R1C16)"

如果你想要CEText,那么我们在公式中使用额外的引号:

ActiveCell.FormulaR1C1 = _
"=SUMIFS(R[-209]C8:R[1]C8,R[-209]C1:R[1]C1,""" & CEText & """,R[-209]C2:R[1]C2,""<>Summary"")*(1+R1C16)"

主要问题是任何vba变量必须在引号之外并与&

连接