在FormulaR1C1中连接

时间:2018-06-05 17:24:43

标签: vba excel-vba excel

我正在尝试提取字符串的前8个字符,同时使用.FormulaR1C1将“/”插入第8个字符位置。但是,我不认为我的连接函数编写得非常正确。

我需要

MK442LLA-PB-3RC 

成为

MK442LL/A

我使用的R1C1连接公式如下:

With Range("D2")
    .FormulaR1C1 = "=CONCATENATE(LEFT(RC[-1], 7)""/""MID(RC[-1], 8, 1))"
    .AutoFill Destination:=Range("D2:D" & lastRow)
End With    

注意:我使用Mid()而不是Right(),因为初始数字的长度不同。

1 个答案:

答案 0 :(得分:0)

如何使用'.FormulaR1C1'而不是?抵消相应..

Sub concatFirstEight()

'last row
lastRow = range("D1048576").end(xlup).row

'set your range
Set concatRange = Range("D2:D" & lastRow)

'loop through range and add a "/" between the 7th and 8th character
For Each c In concatRange
    c.Value = Mid(c, 1, 7) & "/" & Mid(c, 8, 1)
Next

End Sub