En esta entrada se muestra una variante, la misma es que en vez de ordenar los datos inmediatamente luego de cargar el dato en la columna D, esta macro ordena los datos al activar la hoja.
Es algo muy útil cuando se trabaja con listas de nombres, ya sea de personas o artículos, en este ejemplo muestro como se pueden ordenar datos automáticamente al activar la hoja donde se encuentran los datos o registros que se requieren ordenar, esta macro de Excel o procedimiento de VBA ordena los datos alfabéticamente y en forma automática al activar la hoja, el ejemplo aquí presentado tiene una relación estrecha con el publicado anteriormente y denominado ordenar datos e insertar filas mediante macro de VBA, en el cual 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 automáticamente pero en base a varios criterios, 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.
Antes de seguir con el desarrollo y en el caso que no tengas conocimiento suficiente sobre el manejo de hojas de Excel, te recomiendo antes de introducirte en el mundo de las macros, que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá.
MASTERCARD PAYONEER |
La macro presentada acá, sola detecta cual es la última fila y la última columna y en base a ello arma el rango a ordenar y luego procede al ordenamiento, lo que tu tienes que hacer la primera vez es adaptar el rango por cual tu quieres ordenar los datos, pero esto se hace una sola vez cuando adaptas la macro a tu libro, en el ejemplo el primero nombre que aparece es «A Dayra Col», si ese nombre lo colocamos en cualquier lugar no importa si quedan filas en blanco, activamos otra hoja y luego activamos la hoja1 y veremos como se ordenan los datos y posiciona el nombre «A Dayra Col» en primer lugar.
Desde el link del final se puede descargar el archivo de ejemplo de esta manera podrás ver su funcionamiento en forma más detallada. El código de VBA o Macro de Excel ordena automáticamente un listado al activar la hoja que los contiene, primero se determina cual es la última fila con datos, luego la última columna con datos, separando la letra y número de la columna a través del comando mid; una vez hecho esto ordena los datos armando el rango con los datos obtenidos, para luego ordenarlos
Básicamente esta macro ordena los datos al activar la hoja, solo toma un criterio de ordenación en forma ascendente, pero con un par de cambios se puede ordenar usando varios criterios y también en forma ascendente o descendente. En el link del final podrás descargar el ejemplo y adaptarlo a lo que necesites, en resumen la macro ordena en forma automática y alfabética los datos.
Código que se debe insertar en Worksheet de la hoja donde haremos correr la macro
Application.ScreenUpdating = False
On Error Resume Next
Dim uf, ucw, r1, r2 As String
Dim x, ucn As Integer
Sheets(«Hoja1»).Select
‘determines last row with data
uf = Sheets(«Hoja1»).Range(«D» & Rows.Count).End(xlUp).Row
Sheets(«Hoja1»).Cells(1, 16384).Select
uc = ActiveCell.End(xlToLeft).Address(False, False)
ucw = Mid(uc, 1, 1)
ucn = ActiveCell.End(xlToLeft).Column
x = 1
‘will help determine ranges to sort data
k = Sheets(«Hoja1»).Cells(2, 1).Address(False, False)
k1 = Mid(k, 1, 1)
r1 = k & «:» & k1 & uf
r2 = «A1:» & ucw & uf
‘sorts the data
ActiveWorkbook.Worksheets(«Hoja1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Hoja1»).Sort.SortFields.Add Key:=Range(r1) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Hoja1»).Sort
.SetRange Range(r2)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.ScreenUpdating = False
End Sub
Funciones de Fecha y Hora
Macro emite aviso y envía mail a varios destinatarios
Busca un dato en todas las hojas de excel
Combobox incrustado en Excel
Formulario para insertar datos en hoja de excel
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
.
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