vba字符串赋值。我为什么得到1004运行时错误?

时间:2011-07-22 16:20:50

标签: string vba excel-vba cell runtime-error

在我的代码的下面一行,我得到一个1004运行时错误:应用程序定义或对象定义的错误。我认为这可能是声明右侧的一个问题。但是,我改变了写几次的方式无济于事。如您所见,我尝试插入许多字符代码。我最终想要插入到单元格B1中,其中B1是活动单元格=“'”& A1&“',”带有空格以便清楚:=“'”& A1& “',”

这应该引用单元格A1,取该值并将其放在单引号内,最后用逗号。这样就可以格式化为SQL语句。

任何帮助将不胜感激。我知道这是一个常见错误,但错误信息没有帮助。

ActiveCell.Formula = Chr(61) & "'" & Chr(34) & Chr(38) & "A1" & Chr(38) & Chr(34) & "',"

2 个答案:

答案 0 :(得分:4)

要转义引号,您需要将它们加倍:

ActiveCell.Formula = "=""'"" & A1 & ""',"""

答案 1 :(得分:1)

我相信你错过了第一个开场白和最后一个收盘报价。直接翻译您的代码(为了清晰起见,请使用空格),您可以使用以下字符串:

= ' " & A1 & " ,

以下是您预期公式的正确语法

ActiveCell.Formula = "=" & Chr(34) & "'" & Chr(34) & "&A1&" & Chr(34) & "'," & Chr(34)

我取出了非引文的字符代码调用以简化操作,但这不是必需的。