Vba Excel中宏的语法错误

Vba Excel中宏的语法错误,vba,excel,Vba,Excel,我在excel中得到宏代码的语法错误。宏代码如下: Sub concatnate() ' ' concatnate Macro ' ' Keyboard Shortcut: Ctrl+t ' ActiveCell.FormulaR1C1 = _ "=CONCATENATE("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""

我在excel中得到宏代码的语法错误。宏代码如下:

Sub concatnate()
'
' concatnate Macro
'
' Keyboard Shortcut: Ctrl+t
'
    ActiveCell.FormulaR1C1 = _
        "=CONCATENATE("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""& _
        "","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","")"
    Range("C1").Select
    Selection.Copy
    Range("C3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Cells.Replace What:=",,", Replacement:="", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

这很简单,真的

不能将双引号放在一组双引号内

您需要用双引号替换所有这些内引号

ActiveCell.FormulaR1C1 = _
        "=CONCATENATE("""","""")"

根据评论,这个答案已被更正。

似乎VBE在试图理解所有这些逗号时有点困惑。可以更正为:

ActiveCell.FormulaR1C1 = _
    "=CONCATENATE("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""," & _
                 ""","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","")"
如果您只需要99个逗号,那么下面的方法可能会更好

ActiveCell.FormulaR1C1 = "=REPT(CHAR(44), 99)"

这是Excel VBA,不是ASP Classic或T-SQL。单引号不能作为替代品。先生,你是对的。所以我尝试了两种不同的方法。看起来双引号是正确的方法。我在代码中做了一些更改,然后解决了语法错误,但没有得到确切的结果是新的-