D
dapouch
I work with reports coming out of a telephony system. Frustratingly the data
needs to be cleaned after it's imported into excel. The data from first two
columns appears in the row above the next 14 columns.
I have no VBA knowledge. But using the macro recorder I've a long winded
macro that covers the initial 100 rows but I need help developing it to cope
with a 1000+ rows.
Basically - I start by inserting two new columns at the start of my sheet
(new A and B). Then I select cells C2
2 and move them to A3:B3. I then do
likewise for C4
4 and move to A5:B5 etc. Once I get to the end I delete all
rows with blanks (every other row) but this may change.
I've searched the forums and can see code for removing blank rows, so should
be ok with that. the help would be a macro for selecting the cells and
moving down a row.
My original macro is below.
Thanks for your help.
ub CallAttempts()
'
' CallAttempts Macro
' Macro recorded 19/08/2009 by damian.poucher
'
' Keyboard Shortcut: Ctrl+a
'
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Range("C2
2").Select
Range("D2").Activate
Selection.Cut Destination:=Range("A3:B3")
Range("C4
4").Select
Range("D4").Activate
Selection.Cut Destination:=Range("A5:B5")
Range("C6
6").Select
Range("D6").Activate
Selection.Cut Destination:=Range("A7:B7")
Range("C8
8").Select
Range("D8").Activate
Selection.Cut Destination:=Range("A9:B9")
Range("C10
10").Select
Range("D10").Activate
Selection.Cut Destination:=Range("A11:B11")
Range("C12
12").Select
Range("D12").Activate
Selection.Cut Destination:=Range("A13:B13")
Range("C14
14").Select
Range("D14").Activate
Selection.Cut Destination:=Range("A15:B15")
Range("C16
16").Select
Range("D16").Activate
Selection.Cut Destination:=Range("A17:B17")
Range("A17:B17").Select
ActiveWindow.SmallScroll Down:=15
Range("C18
18").Select
Range("D18").Activate
Selection.Cut Destination:=Range("A19:B19")
Range("C20
20").Select
Range("D20").Activate
Selection.Cut Destination:=Range("A21:B21")
Range("C22
22").Select
Range("D22").Activate
Selection.Cut Destination:=Range("A23:B23")
Range("C24
24").Select
Range("D24").Activate
Selection.Cut Destination:=Range("A25:B25")
Range("C26
26").Select
Range("D26").Activate
Selection.Cut Destination:=Range("A27:B27")
Range("C28
28").Select
Range("D28").Activate
Selection.Cut Destination:=Range("A29:B29")
Range("A29:B29").Select
ActiveWindow.SmallScroll Down:=6
Range("C30
30").Select
Range("D30").Activate
Selection.Cut Destination:=Range("A31:B31")
Range("C32
32").Select
Range("D32").Activate
Selection.Cut Destination:=Range("A33:B33")
Range("C34
34").Select
Range("D34").Activate
Selection.Cut Destination:=Range("A35:B35")
Range("C36
36").Select
Range("D36").Activate
Selection.Cut Destination:=Range("A37:B37")
Range("C38
38").Select
Range("D38").Activate
Selection.Cut Destination:=Range("A39:B39")
Range("C40
40").Select
Range("D40").Activate
Selection.Cut Destination:=Range("A41:B41")
Range("C42
42").Select
Range("D42").Activate
Selection.Cut Destination:=Range("A43:B43")
Range("C44
44").Select
Range("D44").Activate
Selection.Cut Destination:=Range("A45:B45")
Range("A45:B45").Select
ActiveWindow.SmallScroll Down:=6
Range("C46
46").Select
Range("D46").Activate
Selection.Cut Destination:=Range("A47:B47")
Range("C48
48").Select
Range("D48").Activate
Selection.Cut Destination:=Range("A49:B49")
Range("C50
50").Select
Range("D50").Activate
Selection.Cut Destination:=Range("A51:B51")
Range("C52
52").Select
Range("D52").Activate
Selection.Cut Destination:=Range("A53:B53")
Range("A53:B53").Select
ActiveWindow.SmallScroll Down:=12
Range("C54
54").Select
Range("D54").Activate
Selection.Cut Destination:=Range("A55:B55")
Range("C56
56").Select
Range("D56").Activate
Selection.Cut Destination:=Range("A57:B57")
Range("C58
58").Select
Range("D58").Activate
Selection.Cut Destination:=Range("A59:B59")
Range("C60
60").Select
Range("D60").Activate
Selection.Cut Destination:=Range("A61:B61")
Range("C62
62").Select
Range("D62").Activate
Selection.Cut Destination:=Range("A63:B63")
Range("C64
64").Select
Range("D64").Activate
Selection.Cut Destination:=Range("A65:B65")
Range("C66
66").Select
Range("D66").Activate
Selection.Cut Destination:=Range("A67:B67")
Range("A67:B67").Select
ActiveWindow.SmallScroll Down:=18
Range("C68
68").Select
Range("D68").Activate
Selection.Cut Destination:=Range("A69:B69")
Range("C70
70").Select
Range("D70").Activate
Selection.Cut Destination:=Range("A71:B71")
Range("C72
72").Select
Range("D72").Activate
Selection.Cut Destination:=Range("A73:B73")
Range("C74
74").Select
Range("D74").Activate
Selection.Cut Destination:=Range("A75:B75")
Range("C76
76").Select
Range("D76").Activate
Selection.Cut Destination:=Range("A77:B77")
Range("C78
78").Select
Range("D78").Activate
Selection.Cut Destination:=Range("A79:B79")
Range("A79:B79").Select
ActiveWindow.SmallScroll Down:=9
Range("C80
80").Select
Range("D80").Activate
Selection.Cut Destination:=Range("A81:B81")
Range("C82
82").Select
Range("D82").Activate
Selection.Cut Destination:=Range("A83:B83")
Range("C84
84").Select
Range("D84").Activate
Selection.Cut Destination:=Range("A85:B85")
Range("C86
86").Select
Range("D86").Activate
Selection.Cut Destination:=Range("A87:B87")
Range("C88
88").Select
Range("D88").Activate
Selection.Cut Destination:=Range("A89:B89")
Range("A89:B89").Select
ActiveWindow.SmallScroll Down:=9
Range("C90
90").Select
Range("D90").Activate
Selection.Cut Destination:=Range("A91:B91")
Range("C92
92").Select
Range("D92").Activate
Selection.Cut Destination:=Range("A93:B93")
Range("C94
94").Select
Range("D94").Activate
Selection.Cut Destination:=Range("A95:B95")
Range("C96
96").Select
Range("D96").Activate
Selection.Cut Destination:=Range("A97:B97")
Range("C98
98").Select
Range("D98").Activate
Selection.Cut Destination:=Range("A99:B99")
Range("A99:B99").Select
ActiveWindow.SmallScroll Down:=-120
Range( _
"2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40,42:42,44:44,46:46" _
).Select
Range("A46").Activate
ActiveWindow.SmallScroll Down:=36
Union(Range( _
"66:66,68:68,70:70,72:72,74:74,76:76,78:78,2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40,42:42,44:44,46:46,48:48,50:50" _
), Range("52:52,54:54,56:56,58:58,60:60,62:62,64:64")).Select
Range("A78").Activate
ActiveWindow.SmallScroll Down:=15
Union(Range( _
"66:66,68:68,70:70,72:72,74:74,76:76,78:78,80:80,82:82,84:84,86:86,88:88,2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40" _
), Range( _
"42:42,44:44,46:46,48:48,50:50,52:52,54:54,56:56,58:58,60:60,62:62,64:64")). _
Select
Range("A88").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=-54
ActiveWindow.SmallScroll Down:=-63
Range("B2:B50").Select
ActiveWindow.SmallScroll Down:=-39
Selection.Cut Destination:=Range("R2:R50")
Range("A2:A50").Select
Selection.Cut Destination:=Range("B2:B50")
Range("B2:B50").Select
ActiveWindow.SmallScroll Down:=-54
Range("B2:R50").Select
ActiveWindow.SmallScroll Down:=-63
Selection.Cut Destination:=Range("C2:S50")
Range("C2:S50").Select
Columns("C:C").ColumnWidth = 14.86
Cells.Select
Cells.EntireRow.AutoFit
Range("C2").Select
Columns("C:C").ColumnWidth = 16.29
Cells.Select
Cells.EntireRow.AutoFit
Range("C4").Select
Columns("C:C").ColumnWidth = 17.86
Cells.Select
Cells.EntireRow.AutoFit
Range("C6").Select
End Sub
needs to be cleaned after it's imported into excel. The data from first two
columns appears in the row above the next 14 columns.
I have no VBA knowledge. But using the macro recorder I've a long winded
macro that covers the initial 100 rows but I need help developing it to cope
with a 1000+ rows.
Basically - I start by inserting two new columns at the start of my sheet
(new A and B). Then I select cells C2
likewise for C4
rows with blanks (every other row) but this may change.
I've searched the forums and can see code for removing blank rows, so should
be ok with that. the help would be a macro for selecting the cells and
moving down a row.
My original macro is below.
Thanks for your help.
ub CallAttempts()
'
' CallAttempts Macro
' Macro recorded 19/08/2009 by damian.poucher
'
' Keyboard Shortcut: Ctrl+a
'
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Range("C2
Range("D2").Activate
Selection.Cut Destination:=Range("A3:B3")
Range("C4
Range("D4").Activate
Selection.Cut Destination:=Range("A5:B5")
Range("C6
Range("D6").Activate
Selection.Cut Destination:=Range("A7:B7")
Range("C8
Range("D8").Activate
Selection.Cut Destination:=Range("A9:B9")
Range("C10
Range("D10").Activate
Selection.Cut Destination:=Range("A11:B11")
Range("C12
Range("D12").Activate
Selection.Cut Destination:=Range("A13:B13")
Range("C14
Range("D14").Activate
Selection.Cut Destination:=Range("A15:B15")
Range("C16
Range("D16").Activate
Selection.Cut Destination:=Range("A17:B17")
Range("A17:B17").Select
ActiveWindow.SmallScroll Down:=15
Range("C18
Range("D18").Activate
Selection.Cut Destination:=Range("A19:B19")
Range("C20
Range("D20").Activate
Selection.Cut Destination:=Range("A21:B21")
Range("C22
Range("D22").Activate
Selection.Cut Destination:=Range("A23:B23")
Range("C24
Range("D24").Activate
Selection.Cut Destination:=Range("A25:B25")
Range("C26
Range("D26").Activate
Selection.Cut Destination:=Range("A27:B27")
Range("C28
Range("D28").Activate
Selection.Cut Destination:=Range("A29:B29")
Range("A29:B29").Select
ActiveWindow.SmallScroll Down:=6
Range("C30
Range("D30").Activate
Selection.Cut Destination:=Range("A31:B31")
Range("C32
Range("D32").Activate
Selection.Cut Destination:=Range("A33:B33")
Range("C34
Range("D34").Activate
Selection.Cut Destination:=Range("A35:B35")
Range("C36
Range("D36").Activate
Selection.Cut Destination:=Range("A37:B37")
Range("C38
Range("D38").Activate
Selection.Cut Destination:=Range("A39:B39")
Range("C40
Range("D40").Activate
Selection.Cut Destination:=Range("A41:B41")
Range("C42
Range("D42").Activate
Selection.Cut Destination:=Range("A43:B43")
Range("C44
Range("D44").Activate
Selection.Cut Destination:=Range("A45:B45")
Range("A45:B45").Select
ActiveWindow.SmallScroll Down:=6
Range("C46
Range("D46").Activate
Selection.Cut Destination:=Range("A47:B47")
Range("C48
Range("D48").Activate
Selection.Cut Destination:=Range("A49:B49")
Range("C50
Range("D50").Activate
Selection.Cut Destination:=Range("A51:B51")
Range("C52
Range("D52").Activate
Selection.Cut Destination:=Range("A53:B53")
Range("A53:B53").Select
ActiveWindow.SmallScroll Down:=12
Range("C54
Range("D54").Activate
Selection.Cut Destination:=Range("A55:B55")
Range("C56
Range("D56").Activate
Selection.Cut Destination:=Range("A57:B57")
Range("C58
Range("D58").Activate
Selection.Cut Destination:=Range("A59:B59")
Range("C60
Range("D60").Activate
Selection.Cut Destination:=Range("A61:B61")
Range("C62
Range("D62").Activate
Selection.Cut Destination:=Range("A63:B63")
Range("C64
Range("D64").Activate
Selection.Cut Destination:=Range("A65:B65")
Range("C66
Range("D66").Activate
Selection.Cut Destination:=Range("A67:B67")
Range("A67:B67").Select
ActiveWindow.SmallScroll Down:=18
Range("C68
Range("D68").Activate
Selection.Cut Destination:=Range("A69:B69")
Range("C70
Range("D70").Activate
Selection.Cut Destination:=Range("A71:B71")
Range("C72
Range("D72").Activate
Selection.Cut Destination:=Range("A73:B73")
Range("C74
Range("D74").Activate
Selection.Cut Destination:=Range("A75:B75")
Range("C76
Range("D76").Activate
Selection.Cut Destination:=Range("A77:B77")
Range("C78
Range("D78").Activate
Selection.Cut Destination:=Range("A79:B79")
Range("A79:B79").Select
ActiveWindow.SmallScroll Down:=9
Range("C80
Range("D80").Activate
Selection.Cut Destination:=Range("A81:B81")
Range("C82
Range("D82").Activate
Selection.Cut Destination:=Range("A83:B83")
Range("C84
Range("D84").Activate
Selection.Cut Destination:=Range("A85:B85")
Range("C86
Range("D86").Activate
Selection.Cut Destination:=Range("A87:B87")
Range("C88
Range("D88").Activate
Selection.Cut Destination:=Range("A89:B89")
Range("A89:B89").Select
ActiveWindow.SmallScroll Down:=9
Range("C90
Range("D90").Activate
Selection.Cut Destination:=Range("A91:B91")
Range("C92
Range("D92").Activate
Selection.Cut Destination:=Range("A93:B93")
Range("C94
Range("D94").Activate
Selection.Cut Destination:=Range("A95:B95")
Range("C96
Range("D96").Activate
Selection.Cut Destination:=Range("A97:B97")
Range("C98
Range("D98").Activate
Selection.Cut Destination:=Range("A99:B99")
Range("A99:B99").Select
ActiveWindow.SmallScroll Down:=-120
Range( _
"2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40,42:42,44:44,46:46" _
).Select
Range("A46").Activate
ActiveWindow.SmallScroll Down:=36
Union(Range( _
"66:66,68:68,70:70,72:72,74:74,76:76,78:78,2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40,42:42,44:44,46:46,48:48,50:50" _
), Range("52:52,54:54,56:56,58:58,60:60,62:62,64:64")).Select
Range("A78").Activate
ActiveWindow.SmallScroll Down:=15
Union(Range( _
"66:66,68:68,70:70,72:72,74:74,76:76,78:78,80:80,82:82,84:84,86:86,88:88,2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40" _
), Range( _
"42:42,44:44,46:46,48:48,50:50,52:52,54:54,56:56,58:58,60:60,62:62,64:64")). _
Select
Range("A88").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=-54
ActiveWindow.SmallScroll Down:=-63
Range("B2:B50").Select
ActiveWindow.SmallScroll Down:=-39
Selection.Cut Destination:=Range("R2:R50")
Range("A2:A50").Select
Selection.Cut Destination:=Range("B2:B50")
Range("B2:B50").Select
ActiveWindow.SmallScroll Down:=-54
Range("B2:R50").Select
ActiveWindow.SmallScroll Down:=-63
Selection.Cut Destination:=Range("C2:S50")
Range("C2:S50").Select
Columns("C:C").ColumnWidth = 14.86
Cells.Select
Cells.EntireRow.AutoFit
Range("C2").Select
Columns("C:C").ColumnWidth = 16.29
Cells.Select
Cells.EntireRow.AutoFit
Range("C4").Select
Columns("C:C").ColumnWidth = 17.86
Cells.Select
Cells.EntireRow.AutoFit
Range("C6").Select
End Sub