Transponer base de datos automáticamente

Tengo un problemilla, estoy construyendo una base de datos como esta.

Tengo en total unos 6000 artículos y 12000 códigos de barra, y necesito que cada articulo sea una sola fila con una columna para cada código de barras, algo como esto.

¿Hay alguna forma de hacerlo autómata?

1 respuesta

Respuesta
1

Tendría que hacerlo con una macro, si quieres te preparo una macro, envíame una muestra de tu archivo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Ekaitz Argote Ortega” y el título de esta pregunta.

Gracias Dante,

Ya te he mandado el documento.

Saludos,

Te anexo la macro para transponer, deberás crear una hoja llamada "Hoja2", los datos deberán estar en una hoja llamada "Hoja1". El resultado quedará en la "Hoja2".

Sub TransponerDatos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h2.Cells.Clear
    '
    ant = h1.Cells(2, "A")
    h1.Rows(1 & ":" & 2).Copy h2.Range("A1")
    j = 2
    For i = 3 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "A") = ant Then
            uc = h2.Cells(j, Columns.Count).End(xlToLeft).Column + 1
            h2.Cells(j, uc) = h1.Cells(i, "D")
        Else
            j = j + 1
            h1.Rows(i).Copy h2.Rows(j)
        End If
        ant = h1.Cells(i, "A")
    Next
    h2.Select
    h2.Cells.EntireColumn.AutoFit
    h2.[A1].Select
    MsgBox "Transponer datos", vbInformation, "TERMINADO"
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: TransponerDatos
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas