Vba 尝试遍历行,并用=TEXT格式连接行末尾的单元格,我得到一个1004错误。

Vba 尝试遍历行,并用=TEXT格式连接行末尾的单元格,我得到一个1004错误。,vba,excel,Vba,Excel,我正在使用一个工作表,并试图通过VBA连接单元格,但是我必须以非常特定的方式输出,因为每个项目都必须位于字符串中的特定位置。我已成功获取此函数,以便在excel中获得所需的结果: '=CONCATENATE(RC8,RC17,TEXT(RC4,"0000000000000 "), [RC9," ",TEXT(RC7,"00000")," ",TEXT(MID(RC3,7,9),"00000000 "),"FB4852"," ","01"," ",TEXT(RC2,"000

我正在使用一个工作表,并试图通过VBA连接单元格,但是我必须以非常特定的方式输出,因为每个项目都必须位于字符串中的特定位置。我已成功获取此函数,以便在excel中获得所需的结果:

'=CONCATENATE(RC8,RC17,TEXT(RC4,"0000000000000  "), [RC9," ",TEXT(RC7,"00000"),"      ",TEXT(MID(RC3,7,9),"00000000 "),"FB4852","    ","01","    ",TEXT(RC2,"0000000000000   "))
然而,当我将其插入到一些代码中,并不得不添加大量额外的引号以使其进行编译,从而将此函数添加到行的最后一个单元格中,并连接该行中所有选定的数据时,它开始给我1004个错误。我已附上我的子下面,任何帮助,你们都可以提供这个失去了新的VBA编码器将是可怕的。提前谢谢

    Sub gpFormat()

Dim sh As Worksheet
Dim lastRow As Long

Set sh = ActiveSheet
lastRow = sh.Cells(sh.Rows.Count, 1).End(xlUp).Row
sh.Range(sh.Cells(2, 18), sh.Cells(lastRow, 18)).FormulaR1C1 = "=CONCATENATE(RC8,RC17,TEXT(RC4,""0000000000000  ""), [RC9,"" "",TEXT(RC7,""00000""),""      "",TEXT(MID(RC3,7,9),""00000000 ""),""FB4852"",""    "",""01"",""    "",TEXT(RC2,""0000000000000   ""))"""
用解决方案更新

字符串末尾有两个额外的字符,只需删除即可

Sub gpFormat()

Dim sh As Worksheet
Dim lastRow As Long

Set sh = ActiveSheet
lastRow = sh.Cells(sh.Rows.Count, 1).End(xlUp).Row


sh.Range(sh.Cells(2, 18), sh.Cells(lastRow, 18)).FormulaR1C1 = "=CONCATENATE(RC8,RC17,TEXT(RC4,""0000000000000  ""),RC9,"" "",TEXT(RC7,""00000""),""      "",TEXT(MID(RC3,7,9),""00000000 ""),""FB4852"",""    "",""01"",""    "",TEXT(RC2,""0000000000000   ""))"

End Sub
祝你好运

先前的答复

看来你没有打错字

尝试将[RC9]更换为RC9


祝你好运

哎呀,我的糟糕。拼写错误被纠正了,但是1004拒绝仍然被抛出。