Método Range.Sort (Excel)
Ordena un rango de valores.
Sintaxis
expresión. Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
expresión Variable que representa un objeto Range.
Parameters
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
Clave1 | Opcional | Variant | Especifica el primer campo de ordenación, ya sea como un nombre de rango (String) o un objeto Range ; determina los valores que se van a ordenar. |
Orden1 | Opcional | XlSortOrder | Determina el criterio de ordenación para los valores especificados en Clave1. |
Clave2 | Opcional | Variant | Segundo campo de ordenación; no se puede usar al ordenar una tabla dinámica. |
Tipo | Opcional | Variant | Especifica qué tipo de elementos se van a ordenar dentro de una tabla dinámica. Especifique xLSortLabels para ordenar por las etiquetas destinadas por el rango de experesión en las áreas Row/Colum Labels del rango de la tabla dinámica, o xLSortValues cuando Key1 tenga como destino adicional una celda en las áreas Valores o Totales máximos o superiores mediante la notación R1C1. |
Orden2 | Opcional | XlSortOrder | Determina el criterio de ordenación de los valores especificados en Key2. |
Clave3 | Opcional | Variant | Tercer campo de ordenación; no se puede usar al ordenar una tabla dinámica. |
Orden3 | Opcional | XlSortOrder | Determina el criterio de ordenación para los valores especificados en Clave3. |
Encabezado | Opcional | XlYesNoGuess | Especifica si la primera fila contiene información de encabezado. xlNo es el valor predeterminado. Especifique xlGuess si quiere que Excel intente determinar cuál es el encabezado. |
OrdenPersonalizado | Opcional | Variant | Especifica un entero en base uno que constituye la posición en la lista de criterios de ordenación personalizados. |
CoincidirMayúsculasYMinúsculas | Opcional | Variant | Establezca en True para realizar una ordenación que distinga mayúsculas de minúsculas, False para realizar una ordenación que no distingue mayúsculas de minúsculas; no se puede usar con tablas dinámicas. |
Orientación | Opcional | XlSortOrientation | Especifica si la ordenación debería ser de columna o fila (predeterminado). Establezca el valor xlSortColumns en 1 para ordenar por columna. Establezca el valor xlSortRows en 2 para ordenar por fila (este es el valor predeterminado). |
SortMethod | Opcional | XlSortMethod | Especifica el método de ordenación. |
OpciónDeDatos1 | Opcional | XlSortDataOption | Especifica cómo ordenar texto en el intervalo especificado en Key1; no se aplica a la ordenación de tabla dinámica. |
OpciónDeDatos2 | Opcional | XlSortDataOption | Especifica cómo ordenar texto en el intervalo especificado en Key2; no se aplica a la ordenación de tabla dinámica. |
OpciónDeDatos3 | Opcional | XlSortDataOption | Especifica cómo ordenar texto en el intervalo especificado en Key3; no se aplica a la ordenación de tabla dinámica. |
Valor devuelto
Variant
Ejemplo
En este ejemplo se obtiene el valor del color de una celda de la columna A mediante la propiedad ColorIndex y, a continuación, se usa ese valor para ordenar el rango por color.
Sub ColorSort()
'Set up your variables and turn off screen updating.
Dim iCounter As Integer
Application.ScreenUpdating = False
'For each cell in column A, go through and place the color index value of the cell in column C.
For iCounter = 2 To 55
Cells(iCounter, 3) = _
Cells(iCounter, 1).Interior.ColorIndex
Next iCounter
'Sort the rows based on the data in column C
Range("C1") = "Index"
Columns("A:C").Sort key1:=Range("C2"), _
order1:=xlAscending, header:=xlYes
'Clear out the temporary sorting value in column C, and turn screen updating back on.
Columns(3).ClearContents
Application.ScreenUpdating = True
End Sub
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.