我对 VBA 很陌生,也许有人可以帮助我解决我的问题。 我的行中有(这个例子)
A1: 52/ATL/340/M/50/C
A2: 52/IST/620/M/DBX/200/D
我需要在第 4 个“/”之后首先拆分到下一行,并将前 6 个字符串“52/ATL/”添加到“50/C” - 基本上:“52/ATL/50/C”
B1: 52/ATL/340/M
B2: 52/ATL/50/c
B3: 52/IST/620/M
B4: 52/DBX/200/D
我用 SUBSTITUTE 尝试它,但我的问题 - 这个函数不在 VBA 代码中,而且我不知道如何在第 4 个“/”之后拆分并放下第一个“/”和第二个“/”中的文本。
微软文档:
Sub Demo()
Dim i As Long, j As Long
Dim arrData, arrRes, iR As Long, aTxt
arrData = ActiveSheet.Range("A1").CurrentRegion.Value
ReDim arrRes(1 To UBound(arrData) * 2, 0)
For i = LBound(arrData) To UBound(arrData)
aTxt = Split(arrData(i, 1), "/")
j = UBound(aTxt)
If j >= 3 Then
iR = iR + 1
arrRes(iR, 0) = Join(Array(aTxt(0), aTxt(1), aTxt(2), aTxt(3)), "/")
If j = 5 Then
iR = iR + 1
arrRes(iR, 0) = Join(Array(aTxt(0), aTxt(1), aTxt(4), aTxt(5)), "/")
ElseIf j = 6 Then
iR = iR + 1
arrRes(iR, 0) = Join(Array(aTxt(0), aTxt(4), aTxt(5), aTxt(6)), "/")
End If
End If
Next i
ActiveSheet.Columns(3).Clear
ActiveSheet.Range("C1").Resize(iR).Value = arrRes
End Sub