.
✅Macro de Excel para ORDENAR por Varias Columnas
El tema de ordenar datos ha sido desarrollado en otros post anteriores, en ese se muestra como ordenar datos en base a varias columnas y con criterio ascendente y descendente, esta macro de Excel o procedimiento de VBA ordena los datos en base a tres columnas, el ejemplo tiene una relación estrecha con el presentado anteriormente ordenar datos e insertar filas mediante macro de VBA u ordenar datos al activar hoja, en ese ejemplo se insertan filas entre cada registro de proveedor y se hace una suma totalizada por proveedor, a su vez se ordena por el criterio proveedor; un poco más avanzado es el ejemplo donde se ordena en base a varias columnas, a su vez se ordena en forma descendente y no ascendente que es la forma por defecto, también se puede usar un userform para ordenar datos que tiene combobox insertados y seleccionar el dato por el cual ordenar.
Como funciona el ejemplo de Macro Para Ordenar Datos en Excel
En el presente ejemplo de macro o código de VBA permite ordenar los datos por las columnas J en un primero momento en forma descendente, luego ordena por la columna C en forma ascendente y por último por la columna H en forma ascendente, para ver su funcionamiento descarga el ejemplo desde el link del final.
.Header=xlYes
por este otro código
.Header=xlNo
Modificando este código se tendrá en cuenta o no el encabezado, dependerá del listado que queramos ordenar si este cuenta con dicho encabezamiento o no, que por lo general lo tienen para determinar que datos son registrados en tal o cual campo.
El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlas, buscar en listbox mientras escribes en textbox, ordenar hojas libro excel por su nombre, conectar Excel con Access y muchos ejemplos más.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Sub OrdenaPorVariasColumnas()
Dim pf, uf As Integer
Dim uc, wc, r, r1, r2, r3, b As String
‘determines last row with data
b = ActiveSheet.Name
pf = 2
uf = Sheets(b).Range(«A» & Rows.Count).End(xlUp).Row
uc = Sheets(b).Cells(1, Columns.Count).End(xlToLeft).Address
wc = Mid(uc, InStr(uc, «$») + 1, InStr(2, uc, «$») – 2)
r = wc & pf & «:» & wc & uf
r1 = ActiveSheet.UsedRange.Address(False, False)
r2 = «C» & pf & «:C» & uf
r3 = «H» & pf & «:H» & uf
‘r1 = «A» & pf & «:» & wc & uf
‘sorts the data
ActiveWorkbook.Worksheets(b).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(b).Sort.SortFields.Add Key:=Range(r) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(«Hoja1»).Sort.SortFields.Add Key:=Range(r2) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(«Hoja1»).Sort.SortFields.Add Key:=Range(r3) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(b).Sort
.SetRange Range(r1)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Otros post de utilidad:
- Recuperar password de hoja bloqueada
- Función BUSCARV
- Función BUSCARH
- Función SI
- Abre explorador de archivo de Windows e inserta foto
- Abre explorador de archivo de Windows
- Combobox suma datos repetidos
- Busca un dato en todas las hojas de excel
- Combobox incrustado en Excel
- Formulario para insertar datos en hoja de excel
- Formulario de alera y envío de mail
- Tutoriales sobre VBA
- Llenar combobox y buscar datos
- Mensaje de Alerta y envío de mail con Excel
- Combobox que lista hojas de excel y las selecciona
- Busca un dato en todas las hojas de excel
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends