Error al ordenar un rango de datos por 4 columnas.

Al intentar ordenar un rango de datos por cuatro columnas:

With rangoDatos
    .Sort key1:=.Range("E1"), order1:=xlAscending, _
      key2:=.Range("D1"), order2:=xlAscending, _
      key3:=.Range("C1"), order3:=xlAscending, _
      key4:=.Range("F1"), order4:=xlDescending
      Header = xlYes
End With

Me da el siguiente error:

Error de compilación:

No se encontró el argumento con nombre

¿Puede qué no permita vba ordenar por más de tres columnas?

1 respuesta

Respuesta
1

Sustituya el 7 por el numero filas a ordenar y cambie las letras de orden

Set rangoDatos = ActiveWorkbook.Worksheets("Hoja1")
With rangoDatos
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=Range("A1:A7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add2 Key:=Range("B1:B7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add2 Key:=Range("C1:C7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add2 Key:=Range("D1:D7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End With
With rangoDatos.Sort
.SetRange Range("A1:D7")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas