Macro de Excel para ordenar datos y obtener datos únicos de una columna o fila
Hola en esta ocasión les quiero compartir un ejemplo de una macro de Excel para poder ordenar datos de columnas y obtener los datos únicos de una columna.
Por ejemplo yo tengo un Archivo de Excel del que quiero obtener las fechas para poder obtener los datos y los mostrare en una columna, la pantalla de ejemplo se ve así
- El primer caso es para obtener los fechas únicas de una columna y colocarlas en una columna
'select dates filas
'Declaramos variables
Dim fin As Long, i As Long, unicos As Variant, unicos2 As Variant
With Sheets("InputFile")
fin = Application.CountA(.Range("A:A"))
unicos = WorksheetFunction.Unique(.Range("A1:A" & fin))
'Obtenemos los datos de la matriz y los pasamos a una columna
i = 0
For i = LBound(unicos) To UBound(unicos)
.Cells(i + 1, 5) = unicos(i, 1)
Next i
.Range("E2:E100").Select
Selection.Columns.Sort key1:=Columns("E"), Order1:=xlAscending
End With
- Ahora obtener las fechas únicas pero de una fila y colocarlos en una columna
'select dates columnas
With Sheets("InputFile")
fin = 0
unicos2 = WorksheetFunction.Unique(.Range("H1:AE1"))
'Obtenemos los datos de la matriz y los pasamos a una columna
i = 0
For i = LBound(unicos) To UBound(unicos)
If unicos2(i) <> Empty Then
.Cells(i + 1, 6) = unicos2(i)
End If
Next i
End With
Worksheets("InputFile").Range("F2:F100").Select
' Sort column C, after column N and after column F
Selection.Columns.Sort key1:=Columns("F"), Order1:=xlAscending
Como se ve el archivo después de correr la macro
Les comparto un video para ver cómo funciona la macro
Esta macro la probé en la versión Excel 2019 y Microsoft 365, espero les sea de utilidad y puedan aplicarla en su trabajo o en la escuela
Comentarios
Publicar un comentario