需要宏来用管道替换每个字符并将其显示在相邻的单元格中

时间:2017-10-01 07:13:17

标签: excel-vba vba excel

我需要一个Macro来用一个Pipe替换一个单元格中的每个字符,并且应该在相邻的单元格中显示相同的内容。

例如,如果单元格A1包含" Apple"相邻的单元格应显示每个字符的替换,即单元格B1 = | pple; cell C1 = A | ple;单元格D1 = Ap | le ......

   A    |   B    |    C   |    D   |    E   |    F   | 
 ------ | ------ | ------ | ------ | ------ | ------ |
 Apple  | |pple  | A|ple  | Ap|le  | App|e  | Appl|  |

1 个答案:

答案 0 :(得分:0)

试试这个。

Sub test()
    Dim vDB, vR(), vT()
    Dim s As String
    Dim n As Long, i As Long, j As Integer
    vDB = Range("a1", Range("a" & Rows.Count).End(xlUp))
    n = UBound(vDB, 1)
    ReDim vR(1 To n, 1 To 30)
    For i = 1 To n
        s = vDB(i, 1)
        ReDim vT(1 To Len(s))
        For j = 1 To Len(s)
            vT(j) = Mid(s, j, 1)
        Next j
        For j = 1 To Len(s)
            vT(j) = "|"
            vR(i, j) = Join(vT, "")
            vT(j) = Mid(s, j, 1)
        Next j
    Next i
    Range("b1").Resize(n, 30) = vR
End Sub