Macro para hacer un resumen listando por códigos y número de códigos iguales en una columna de excel

necesito una macro para obtener un resumen de las celdas de una misma columna. Es decir, que si en la columna "A" tengo 8 filas con los siguientes códigos: A1="IB", A2="IB", A3="UX", A4="GB", A5="IB", A6="GB", A7="UX", A8="UX", A9="IB", en la columna "B" me liste las celdas diferentes de la columna "A", poniendome en la celda B1="IB", B2="GB",B3="UX" ordenadas alfabeticamente, y en la columna "C" me liste el número de celdas iguales de cada código de la columna "B", es decir, C1="4", C2="2", C3="3".

Como podría hacerse lo mismo pero si en lugar de estar los códigos sueltos en la columna "A" que queremos listar y sumar en las columnas "B" y "C", por ejemplo, IB, GB ó UX, estuviesen siempre en la misma columna "A" pero no sueltos, sino incorporados en un código con más caracteres pero siempre en el mismo carácter, por ejemplo en el carácter número 16 y 17 de cada celda en esa misma columna, es decir, por ejemplo en la celda A1=t566784u8 gdf6 IB hgj, en la celda A2=t566784u8 gdf6 GB hgj, en la celda A3=t56678478 gdf6 UX 123, en la celda A4=...

1 Respuesta

Respuesta
1

H o l a:

Envíame un archivo con ejemplos en una hoja, y en otra hoja, me pones el resultado que esperas.

En el asunto escribe tu nombre de usuario.

H o l a:

Te anexo la macro. Los códigos deberán estar en hoja1 en la columna A, el resumen te lo pondrá en la Hoja2

Sub ResumenCodigos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    '
    h2.UsedRange.Offset(1, 0).ClearContents
    For i = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
        cod = Mid(h1.Cells(i, "A"), 17, 2)
        Set b = h2.Columns("A").Find(cod, lookat:=xlWhole)
        If Not b Is Nothing Then
            h2.Cells(b.Row, "B") = h2.Cells(b.Row, "B") + 1
        Else
            u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
            h2.Cells(u, "A") = cod
            h2.Cells(u, "B") = 1
        End If
    Next
    MsgBox "Fin"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas