尝试遍历行,并使用= TEXT格式将行末尾的单元格连接起来,我收到1004错误。

时间:2018-09-06 16:34:49

标签: excel vba excel-vba

我正在处理一个工作表,并尝试通过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   ""))"""

1 个答案:

答案 0 :(得分:1)

更新解决方案

在字符串末尾有两个额外的“”,只需删除然后

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,“”

祝你好运