如何在Excel工作表公式中使用VBA中声明的变量值?
解决VBA嵌入变量值到Excel公式的问题
你当前的代码错误在于将变量名Wanted_Data作为固定字符串写入公式,而非引用变量存储的实际值。要生成目标公式,需要将变量值与公式字符串正确拼接,重点处理好双引号的转义(Excel公式里的字符串需用双引号包裹,VBA中表示单个双引号需要写两个双引号)。
方法一:直接字符串拼接
修改后的代码如下:
Public Sub MainValuesInForm() Dim Wanted_Data As String Wanted_Data = "AUM" ' 通过双引号转义拼接变量值到公式 ActiveCell.Formula = "=IF(""" & Wanted_Data & """=A1,1,2)" End Sub
这段代码会生成你需要的公式:=IF("AUM"=A1,1,2)。
方法二:用Chr(34)替代双引号转义
如果觉得大量双引号易混淆,可以用Chr(34)表示双引号字符(ASCII码34对应双引号),代码更易读:
Public Sub MainValuesInForm() Dim Wanted_Data As String Wanted_Data = "AUM" ActiveCell.Formula = "=IF(" & Chr(34) & Wanted_Data & Chr(34) & "=A1,1,2)" End Sub
内容的提问来源于stack exchange,提问作者daniel stafford
相关产品推荐
相关产品推荐

