Code:
Sub SplitData()
Dim arrColC As Variant
Dim arrColm As Variant
Dim arrColw As Variant
Dim arrColz As Variant
Dim arrCole As Variant
Dim arrColh As Variant
Dim shDATA As Worksheet
Dim r As Long, c As Long, i As Long, m As Long, x As Long, w As Long, j As Long, a As Long, z As Long, b As Long, e As Long, d As Long, n As Long, k As Long, y As Long, h As Long
Set shDATA = Sheets("owssvr")
Dim MyRange As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each MyRange In ActiveSheet.UsedRange
If 0 < InStr(MyRange, Chr(10)) Then
MyRange = Replace(MyRange, Chr(10), ",")
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = False
On Error Resume Next
Sheets("SPLIT SHEET").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Sheets.Add After:=shDATA
ActiveSheet.Name = "SPLIT SHEET"
i = 1
j = 1
a = 1
b = 1
e = 1
n = 1
y = 1
For r = 1 To shDATA.Cells(Rows.Count, "A").End(xlUp).Row
arrColC = Split(shDATA.Cells(r, 5), ",")
arrColm = Split(shDATA.Cells(r, 13), ",")
arrColw = Split(shDATA.Cells(r, 14), ",")
arrColz = Split(shDATA.Cells(r, 15), ",")
arrCole = Split(shDATA.Cells(r, 16), ",")
arrColh = Split(shDATA.Cells(r, 17), ",")
arrColn = Split(shDATA.Cells(r, 45), ",")
For c = 0 To UBound(arrColC)
Cells(i, 1) = shDATA.Cells(r, 1)
Cells(i, 2) = shDATA.Cells(r, 2)
Cells(i, 3) = shDATA.Cells(r, 3)
Cells(i, 4) = Format(shDATA.Cells(r, 4), "d-mmm-yy")
Cells(i, 5) = arrColC(c)
i = i + 1
For m = 0 To UBound(arrColm)
Cells(j, 6) = shDATA.Cells(r, 6)
Cells(j, 7) = shDATA.Cells(r, 7)
Cells(j, 8) = Format(shDATA.Cells(r, 8), "d-mmm-yy")
Cells(j, 9) = Format(shDATA.Cells(r, 9), "d-mmm-yy")
Cells(j, 10) = shDATA.Cells(r, 10)
Cells(j, 11) = shDATA.Cells(r, 11)
Cells(j, 12) = shDATA.Cells(r, 12)
Cells(j, 13) = arrColm(m)
j = j + 1
Next m
For w = 0 To UBound(arrColw)
Cells(a, 14) = arrColw(w)
a = a + 1
Next w
For z = 0 To UBound(arrColz)
Cells(b, 15) = arrColz(z)
b = b + 1
Next z
For d = 0 To UBound(arrCole)
Cells(e, 16) = arrCole(d)
e = e + 1
Next d
For h = 0 To UBound(arrColh)
Cells(y, 17) = arrColh(h)
y = y + 1
Next h
For k = 0 To UBound(arrColn)
Cells(n, 18) = shDATA.Cells(r, 18)
Cells(n, 19) = shDATA.Cells(r, 19)
Cells(n, 20) = shDATA.Cells(r, 20)
Cells(n, 21) = shDATA.Cells(r, 21)
Cells(n, 22) = shDATA.Cells(r, 22)
Cells(n, 23) = shDATA.Cells(r, 23)
Cells(n, 24) = shDATA.Cells(r, 24)
Cells(n, 25) = shDATA.Cells(r, 25)
Cells(n, 26) = shDATA.Cells(r, 26)
Cells(n, 27) = shDATA.Cells(r, 27)
Cells(n, 28) = shDATA.Cells(r, 28)
Cells(n, 29) = shDATA.Cells(r, 29)
Cells(n, 30) = shDATA.Cells(r, 30)
Cells(n, 31) = shDATA.Cells(r, 31)
Cells(n, 32) = shDATA.Cells(r, 32)
Cells(n, 33) = shDATA.Cells(r, 33)
Cells(n, 34) = shDATA.Cells(r, 34)
Cells(n, 35) = shDATA.Cells(r, 35)
Cells(n, 36) = shDATA.Cells(r, 36)
Cells(n, 37) = shDATA.Cells(r, 37)
Cells(n, 38) = shDATA.Cells(r, 38)
Cells(n, 39) = shDATA.Cells(r, 39)
Cells(n, 40) = shDATA.Cells(r, 40)
Cells(n, 41) = shDATA.Cells(r, 41)
Cells(n, 42) = shDATA.Cells(r, 42)
Cells(n, 44) = Format(shDATA.Cells(r, 44), "d-mmm-yy")
Cells(n, 45) = shDATA.Cells(r, 45)
n = n + 1
Next k
Next c
Next r
End Sub
the problem is that there are some columns missing when I try to run the macro:
Bookmarks