Is there any way to simulate a macro of the Sort command in Excel with the following example?
I have 60 rows and 53 data columns. After using the sort command, I really could get the results that I wanted, but I believe that if I had a macro, it would save me so much time. You can see the images before and after to have an idea of ββwhat I was trying to accomplish.
[
]
[
]
eg.
SORT LEFT TO RIGHT
SORT BY [ROW 2] | SORT ON [VALUES] | ORDER [SMALLEST TO LARGEST]
SORT BY [ROW 3] | SORT ON [VALUES] | ORDER [SMALLEST TO LARGEST]
...
...
SORT BY [ROW 59] | SORT ON [VALUES] | ORDER [SMALLEST TO LARGEST]
SORT BY [ROW 60] | SORT ON [VALUES] | ORDER [SMALLEST TO LARGEST]
UPDATE: I ran a macro recorder to see what it would look like: here is an abbreviated code from line 2 to line 61.
Sub Macro3()
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B2:BB2") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B3:BB3") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B4:BB4") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B5:BB5") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
...MORE ROWS HERE IN THE PATTERN AS SHOWN
...MORE ROWS HERE IN THE PATTERN AS SHOWN
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B57:BB57" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B58:BB58" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B59:BB59" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B60:BB60" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet11").Sort.SortFields.Add Key:=Range("B61:BB61" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet11").Sort
.SetRange Range("B1:BB63")
.Header = xlYes
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
Is there a way to make this more concise?