Transponer datos horizontales a verticales

Necesito una macro que permita transponer datos que están dispuestos horizontalmente y disponerlos en forma vertical
Origen
Matricula N1 N2 N3 N4 N5 ... N12
10 5
20 4 2
30 5
40 6 6 4
Salida
Matricula N
10 5
20 4
20 2
30 5
40 6
40 6
40 4

1 Respuesta

Respuesta
1

Te anexo la macro.
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 Asignar macro / Selecciona: transponer
9. Aceptar.
10. Para ejecutarla dale click a la imagen.
Sub transponer()'por.DAMSet h1 = Sheets("Hoja1")Set h2 = Sheets("Hoja2")h1.SelectSet celda = Range("A2") h2.Cells.Clear fi = celda.Rowfu = Cells(Rows.Count, celda.Column).End(xlUp).Rowci = celda.Column + 1 k = 2 For i = fi To fu cf = Cells(i, Columns.Count).End(xlToLeft).Column For j = ci To cf h2.Cells(k, "A") = h1.Cells(i, celda.Column) h2.Cells(k, "B") = h1.Cells(i, j) k = k + 1 NextNexth2.SelectMsgBox "Transponer Finalizado", vbInformationEnd Sub
La macro te copia los datos a otra hoja.
Cambia en la macro estas líneas, para establecer:
Cuál es el nombre de tu hoja origen
Set h1 = Sheets("Hoja1")
Cuál es el nombre de tu hoja de salida
Set h2 = Sheets("Hoja2")
Y por ultimo cuál es la celda en donde empieza tu primer matrícula.
Set celda = Range("A2")
Saludos. DAM
Si es lo que necesitas.

La pregunta no admite más respuestas

Más respuestas relacionadas