Hoy vamos a ver cómo ordenar alfabéticamente una tabla de Excel usando VBA.
Para ello he creado un libro con una tabla tal y como muestro a continuación. La idea es ordenarla por los campos Plazo y Proyecto.
A continuación os muestro el código utilizado en el botón AZ (en la tabla, arriba a la derecha),
Sub Ordenar()
'Seleccionamos el rango de datos de la tabla
Range("B4:H500").Select
'Limpiamos los filtros activos
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
'Ordenamos en primer lugar por la columna Plazo
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("E4:E500"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
'Ordenamos en primer lugar por la columna Proyecto
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("B4:B500"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange Range("B4:H500")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Si nos fijamos en la tabla, los proyectos 3, 4 y 5 se encuentran desordenados por Plazo. Además, los proyectos 3 y 4, que tienen el mismo Plazo, se encuentran desordenados respecto al campo Proyecto.
Si pulsamos el botón AZ, veremos como se ordenan automáticamente,
Espero que este ejemplo te haya servido para aprender a ordenar alfabéticamente una tabla de Microsoft Excel usando VBA. Descárgate el archivo de ejemplo y practica.
Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.
Hasta la próxima.
Si te ha servido y quieres donar
Descarga el archivo del ejemplo
Últimas publicaciones
0 comentarios