我正在处理一个工作表,并尝试通过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 ""))"""
答案 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,“”
祝你好运