String 除非字符串变量以数字开头,否则将其与公式1c1一起使用是有效的
直到最近,我一直成功地使用以下宏将公式写入电子表格中的单元格:String 除非字符串变量以数字开头,否则将其与公式1c1一起使用是有效的,string,vba,excel,String,Vba,Excel,直到最近,我一直成功地使用以下宏将公式写入电子表格中的单元格: 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 & " )"
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
这通常会导致以下公式出现在活动单元格中(我希望它这样做)
但是,当我更改其中一个变量,使其以数字开头时,例如:
apple = "1Z9Y8X7"
在尝试执行FormulaR1C1行时,出现以下错误提示
运行时错误“1004”:应用程序定义的错误或对象定义的错误
如果我使用带有一系列字母数字字符的字符串,宏总是可以正常运行,但是,只要第一个字符是数字,它就会返回上述错误
为什么会这样?尝试在字符串周围添加引号:
ActiveCell.FormulaR1C1 = "=COUNTIFS('Data Dump'!C25, " & Chr(34) & apple & Chr(34) & ", 'Data Dump'!C6, " & Chr(34) & orange & Chr(34) & " )"
添加引号允许公式读取器将字符串识别为字符串
ActiveCell.FormulaR1C1 = "=COUNTIFS('Data Dump'!C25, " & Chr(34) & apple & Chr(34) & ", 'Data Dump'!C6, " & Chr(34) & orange & Chr(34) & " )"