Antes de ejecutar la macro crea una hoja llamada "Hoja5" para poner los resultados.
Cambia en la macro "Hoja4" por el nombre de tu hoja con los datos originales.
El resultado quedará en la hoja "Hoja5"
Sub Ordenar_Unicos()
'Por Dante Amor
Application.ScreenUpdating = False
Set h1 = Sheets("Hoja4") 'hoja con datos original
Set h2 = Sheets("Hoja5") 'hoja con resultado
u = h1.Range("A" & Rows.Count).End(xlUp).Row
uc = h1.Cells(1, Columns.Count).End(xlToLeft).Column
h2.Cells.Clear
h1.Rows(1).Copy h2.Rows(1)
For i = 2 To u
h1.Range(h1.Cells(i, "A"), h1.Cells(i, uc)).Copy
h2.Range("A" & u + 2).PasteSpecial Paste:=xlPasteAll, Transpose:=True
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
h2.Range("A" & u + 2 & ":A" & u2).RemoveDuplicates Columns:=1, Header:=xlYes
With h2.Sort
.SortFields.Clear
.SortFields.Add Key:=h2.Range("A" & u + 3), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
.SetRange h2.Range("A" & u + 3 & ":A" & u2)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
h2.Range("A" & u + 2 & ":A" & u2).Copy
h2.Range("A" & i).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Next
h2.Range("A" & u + 2 & ":A" & u2).Clear
Application.CutCopyMode = False
End Sub
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Ordenar_Unicos
- Aceptar.
- Para ejecutarla dale click a la imagen.
.
.