Macro de Excel que funciona parcialmente

Hola a todos,

En un archivo Excel, aplique una Macro que me facilitó el Sr. Dante Amor y que funcionó perfectamente.

Sub concatenar()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h2.Range("B:C").ClearContents
    For i = 2 To h2.Range("A" & Rows.Count).End(xlUp).Row
        Set r = h1.Columns("C")
        Set b = r.Find(h2.Cells(i, "A"), lookat:=xlWhole)
        If Not b Is Nothing Then
            ncell = b.Address
            Do
                h2.Cells(i, "B") = h2.Cells(i, "B") + 1
                If h2.Cells(i, "C") = "" Then
                    h2.Cells(i, "C") = h1.Cells(b.Row, "A")
                Else
                    h2.Cells(i, "C") = h2.Cells(i, "C") & ", " & h1.Cells(b.Row, "A")
                End If
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
        End If
    Next
End Sub

Con el archivo abierto, traté de aplicar la macro a otro archivo distinto y no se si hice algo mal pero la macro dejó de funcionar debidamente. Se que funciona parcialmente ya que el llamado de limpiar las columnas B y C funciona pero no hace el conteo en cada linea de la columna B ni coloca el resultado del concatenado en las lineas de la columna C.

Traté de reconstruir totalmente la macro en el archivo y aún así no funciona, sin embargo en el archivo ejemplo que preparé al principio sigue funcionando perfectamente.

Gracias por la ayuda.

Añade tu respuesta

Haz clic para o