Ordenar varias columnas independientemente entre sí
Mi objetivo es ordenar 4 columnas, con datos de fechas, por orden decreciente. Tengo el siguiente código que lo hace, pero mi pregunta es si se puede aligerar el mismo, para evitar tantas líneas de código y aumentar su velocidad. El rango de datos en cada columna puede ser diferente, unas columnas pueden tener más datos que otras.
Gracias de antemano
Sub Ordena_Registros()
Range("AK4:AK5000").Select
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Add Key:=Range("AK4:AK5000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("iLab").Sort
.SetRange Range("AK3:AK5000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("AL4:AL5000").Select
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Add Key:=Range("AL4:AL5000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("iLab").Sort
.SetRange Range("AL3:AL5000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("AM4:AM5000").Select
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Add Key:=Range("AM4:AM5000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("iLab").Sort
.SetRange Range("AM3:AM5000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("AN4:AN5000").Select
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("iLab").Sort.SortFields.Add Key:=Range("AN4:AN5000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("iLab").Sort
.SetRange Range("AN3:AN5000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub