Excel 当我添加“时,公式给出了错误”;“文本”;

Excel 当我添加“时,公式给出了错误”;“文本”;,excel,vba,formula,Excel,Vba,Formula,我正在尝试编写一个宏来格式化报表。在我尝试创建事务参考号之前,一切都很顺利 公式基本上是这样的:A2&“-”&B2&“ABCD” 当我将其插入宏时,它将变为 范围(“C2”)。公式=“=A2&“-”&B2&“ABCD” 当我在末尾添加连字符或字母时,它会给出“编译错误:预期:语句结束” 我做错了什么 编辑:所以输出将是contentOfA2-contentOfB2 ABCD试试这个。在字符串中添加引号时,请将引号加倍,以便程序知道您并不是简单地结束字符串 Range("c2").Formula

我正在尝试编写一个宏来格式化报表。在我尝试创建事务参考号之前,一切都很顺利

公式基本上是这样的:A2&“-”&B2&“ABCD”

当我将其插入宏时,它将变为

范围(“C2”)。公式=“=A2&“-”&B2&“ABCD”

当我在末尾添加连字符或字母时,它会给出“编译错误:预期:语句结束”

我做错了什么


编辑:所以输出将是contentOfA2-contentOfB2 ABCD

试试这个。在字符串中添加引号时,请将引号加倍,以便程序知道您并不是简单地结束字符串

Range("c2").Formula = "=A2 & ""-"" & B2 & ""ABCD"""
例如

Range("A1").value = "adding a quote inside a string ""so and so said something"" is like this."

输出:在字符串“某某说了些什么”中添加引号是这样的。

尝试反向操作-例如,在excel中编写公式,如下所示:

然后选择公式并在VBA中写入以下内容:

Public Sub TestMe()

    Debug.Print Selection.Formula

End Sub
在direct窗口中,您将看到以下内容:
=A2&“-”&B2&“abcd”
此输入应该编辑一点,因为它来自控制台,您需要退出
”。如下所示:
“=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

它将单引号更改为双引号,然后将公式放入引号中。在我的代码中,它是code
strParenth

activecell.formula=“=A2&-”&B2&“abcd”“
所以我实际上已经尝试过了,它给了我运行时错误‘1004’:应用程序定义的或对象定义的错误。修复了!非常感谢。所以当我输入它时,它工作得非常好。只有一次我把它放进宏中,它才会让我悲伤。虽然我可以发誓我早一点这么做了,但这解决了它!非常感谢!我对VBA比较陌生,这是我第一次正式使用它。