Excel / VBA-如何在每N个字符的字符串中插入一个字符

Jon*_*orl 2 excel vba excel-vba excel-formula

我有一个报告,报告在导出时将单个单元格中的订单号(总是7位长)显示为一个字符串。例如:订单1234567和9876543在单个单元格中将显示为12345679876543。每个单元格没有最大订单数,每个单元格都有不同。

有什么办法可以每7位添加一个字符,以便以后可以在列中输入文本?

Cal*_*mDA 5

为避免使用冗长而复杂的公式,建议使用VBA。

将以下代码粘贴到标准模块中,然后可以在工作表上使用如下公式:

=InsertPipe(A1,7)
Run Code Online (Sandbox Code Playgroud)
Function InsertPipe(s As String, interval As Long)
    If interval < 1 Then Exit Function        

    Dim i As Long, result As String

    For i = 1 To Len(s) Step interval
        On Error Resume Next
        result = result & Left(s, interval) & "|"
        s = Mid(s, interval + 1, Len(s) - interval)
    Next i

    InsertPipe = Left(result, Len(result) - 1)
End Function
Run Code Online (Sandbox Code Playgroud)