Sub SplitColumns()
Dim SP2$(), SP3$()
AR = [A1].CurrentRegion.Value
U& = UBound(AR, 2): If U < 3 Then Exit Sub
Application.ScreenUpdating = False
W& = 1
For R& = 2 To UBound(AR)
SP2 = Split(AR(R, 2), ";")
SP3 = Split(AR(R, 3), ";")
U3& = UBound(SP3)
For N& = 0 To UBound(SP2)
W = W + 1
Cells(W, 1).Value = AR(R, 1)
Cells(W, 2).Value = Trim(SP2(N))
If U3 < 0 Then T$ = "" Else T = Trim(SP3(IIf(N > U3, U3, N)))
Cells(W, 3).Value = T
If U > 3 Then For C& = 4 To U: Cells(W, C).Value = AR(R, C): Next C
Next N
Next R
R = W - 1
For C = 1 To U
With Cells(2, C)
.Resize(R).NumberFormat = .NumberFormat
End With
Next
Application.ScreenUpdating = True
End
End Sub
Bookmarks