¿Conoce el grabador de macros?
- Vaya al menú "Archivo" --> "Opciones"
- En "Personalizar cinta de opciones" active la casilla "Desarrollador"
Verá que le aparece un nuevo menú "Desarrollador" que tiene un botón llamado "Grabar macro". Pulse el botón. Seleccione el rango que desea ordenar y establezca todas las columnas con su orden. Cuando haya acabado, vaya al menú "Desarrollador" y pulse "Detener grabación".
Ya tiene la macro.
Puede consultar su contenido si va al menú "Desarrollador", pulsa el botón "Macros", selecciona la macro que ha grabado y pulsa "Modificar".
Verá que le ha generado algo parecido a esto:
Sub Macro1()
Columns("I:W").Select
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("I2:I4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("J2:J4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("K2:K4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("L2:L4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("M2:M4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("N2:N4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("O2:O4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("P2:P4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("Q2:Q4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("R2:R4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("S2:S4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("T2:T4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("U2:U4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("V2:V4"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("W2:W4"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange Range("I1:W4")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub