公式给出了错误,当我添加“文本”
我正在尝试编写一个macros来完成报告的格式化。 在我尝试创build交易参考号之前,这一切都很顺利。
公式基本上去= A2&“ – ”&B2&“ABCD”
当我插入到我的macros它变成
范围(“C2”)。Formula =“= A2&” – “&B2&”ABCD“”
只要我在末尾添加连字符或字母,就会给我“编译错误:预期:语句结束”
我究竟做错了什么?
编辑:所以输出将是contentOfA2-contentOfB2 ABCD
尝试这个。 在string内添加引号时,将引号加倍,以便程序知道您不是简单地结束string。
Range("c2").Formula = "=A2 & ""-"" & B2 & ""ABCD"""
例..
Range("A1").value = "adding a quote inside a string ""so and so said something"" is like this."
输出:在一个string中添加一个引号“so and so said something”就是这样。
尝试做到相反 – 例如在Excel中写入公式如下:
然后select公式并在VBA中写入以下内容:
Public Sub TestMe() Debug.Print Selection.Formula End Sub
在直接的窗口你会有这样的: =A2&"-"&B2&"abcd"
这个input应该被编辑了一下,因为它来自控制台,你需要转义。“像这样: "=A2 & ""-"" & B2 & ""abcd"""
您可以通过编写Debug.Print Selection.FormulaR1C1
来进一步阐述,如果您需要的话。
最后,你可以使用这样的东西来避免括号的计数。 这将工作正常:
Public Sub PrintMeUsefulFormula() Dim strFormula As String Dim strParenth As String strParenth = """" strFormula = Selection.Formula strFormula = Replace(strFormula, """", """""") strFormula = strParenth & strFormula & strParenth Debug.Print strFormula End Sub
它将单引号更改为双引号,然后将公式放在引号中。 在我的代码中,它是代码strParenth
。