Ir al contenido principal

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
Blog de Programacion para todos


Como se ve el archivo después de correr la macro
Macro_unicos_ordenar datos Blog de programacion

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

Entradas más populares de este blog

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Macro de Excel para abrir archivo csv

Hay veces que quieres abrir un archivo de Excel pero está separado por comas, punto y coma o por un pipe. Hay formas de hacerlos desde Excel. Les quiero compartir algunas opciones de como hacerlo y espero que les sean de utilidad. 1.Es abrir el archivo en Excel y utilizar la función de separar por columnas y seleccionar el delimitador, por ejemplo ";" 2. Es colocar "sep=;" en el primer renglón del archivo que quieres abrir y guardar en formato CSV y abrirlo en Excel y te lo abrirá separado en columnas. 3. Otra forma es con una macro, esté en mi gusto es la que más me funciona porque si hay alguna coma en la descripción o en alguna columna, si lo abres desde Excel te va a desacomodar las columnas.  Este botón te abrirá un pantalla para abrir el archivo que quieres separar y te lo abrirá en una hoja de excel ya separado. El código de la macro es el siguiente  Private Sub CommandButton1_Click() Dim sht As Worksheet Dim fnd As Variant Dim rplc As Variant Dim