Intente con esta macro Actualiza el nombre de la hoja y el rango de filas a partir de donde inician los datos así como también la ultima columna, en este ejemplo los datos inician el la columna A y terminan en la columna I, cualquier cosa comenta.
Sub Ordenar()
Range("A2").Select
ufC = Range("c" & Cells.Rows.Count).End(xlUp).Row
ufI = Range("I" & Cells.Rows.Count).End(xlUp).Row
ufF = Range("F" & Cells.Rows.Count).End(xlUp).Row
Range("A1:F" & ufI).Select
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add2 Key:=Range("I6:I" & ufC), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add2 Key:=Range("I6:I" & ufI), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add2 Key:=Range("F6:F" & ufF), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange Range("A2:F" & ufI)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A2").Select
End Sub