Trasponer registros duplicados en excel

Necesito realizar lo siguiente:

Tenemos un fichero con registros duplicados x campo1 y campo2, de la siguiente forma:

Campo1 campo2 campo3
023 00357 CASA
023 00357 PERRO
023 00444 ANGEL
023 00444 LUIS
023 00444 RODOLFO
023 03600 PEPITO

Queremos trasponer los datos de la siguiente forma:

Campo1 campo2 campo3 campo4 campo5
023 00357 CASA PERRO
023 00444 ANGEL LUIS RODOLFO
023 03600 PEPITO

Es decir, solo una fila por registro duplicado y tantas columnas como registros duplicados hay

1 Respuesta

Respuesta
2

H  o l a:

Te anexo una macro. Pon tus datos en la "hoja1", empezando desde la fila2.

Crea una hoja llamada "hoja2", ahí quedará el resultado.

Sub TransponerDups()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")    'hoja con datos
    Set h2 = Sheets("Hoja2")    'hoja de resultados
    h2.Cells.Clear
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        fila = 0
        For j = 1 To h2.Range("A" & Rows.Count).End(xlUp).Row
            If h1.Cells(i, "A") = h2.Cells(j, "A") And _
               h1.Cells(i, "B") = h2.Cells(j, "B") Then
                fila = j
                Exit For
            End If
        Next
        If fila > 0 Then
            uc = h2.Cells(fila, h2.Columns.Count).End(xlToLeft).Column + 1
            h2.Cells(fila, uc) = h1.Cells(i, "C")
        Else
            uf = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
            h1.Range("A" & i & ":C" & i).Copy h2.Range("A" & uf & ":C" & uf)
        End If
    Next
    MsgBox "fin"
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. 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”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: TransponerDups
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas