与FormulaR1C1一起使用stringvariables,除非以数字开头
直到最近,我已经成功地使用下面的macros将公式写入电子表格中的单元格:
Sub insertFormula() Dim apple As String Dim orange As String apple = "Z9Y8X7" orange = "A1B2C3" ActiveCell.FormulaR1C1 = "=COUNTIFS('Data Dump'!C25, " & apple & ", 'Data Dump'!C6, " & orange & " )" End Sub
这通常会导致以下公式出现在活动单元格中(这是我想要的)。
=COUNTIFS('Data Dump'!$Y:$Y, Z9Y8X7, 'Data Dump'!$F:$F, A1B2C3 )
但是,当我更改其中一个variables时,以数字开始,例如:
apple = "1Z9Y8X7"
当试图执行FormulaR1C1行时,出现以下错误提示
运行时错误“1004”:应用程序定义或对象定义的错误
如果我使用带有一系列字母数字字符的string,macros总是完美运行,但只要第一个字符是数字,就会返回上述错误。
为什么是这样?
尝试在string周围添加引号:
ActiveCell.FormulaR1C1 = "=COUNTIFS('Data Dump'!C25, " & Chr(34) & apple & Chr(34) & ", 'Data Dump'!C6, " & Chr(34) & orange & Chr(34) & " )"
添加引号允许公式读取器将string识别为string。