Macro para llevar datos de columna a fila

Hola. Agradecería bastante vuestra ayuda en esto. Estoy intentando colocar unos datos que obtengo de esta manera, todos en una misma columna, cada uno en una fila diferente, por ejemplo:
1 Pedro
2 561
3 868
4 Juan
5 358
6 561
Y necesito una macro que me los coloque de esta manera en columnas diferentes:
Pedro 561
Pedro 868
Juan 358
Juan 561
De manera que los pueda tener en forma de tabla y trabajarlos en tabla dinámica.
Muchas gracias.

1 Respuesta

Respuesta
1
Deberías de bajar una fila tus datos para que quedara la fila 1 vacía para poner los encabezados después te sitúas en la celda A1 y pones esta fórmula =A2&A3 en la celda B1 pondrías =A2&A4 y así sucesivamente...
>Un saludo
>Julio
Hola Julio, te agradezco tu colaboración. Parece que yo lo he planteado de una manera muy sencilla y fácil, pero en la realidad no lo es. Lo siento. Mis datos son registros que cuando los exporto a excel están todos en una misma columna uno debajo del otro. Tengo una macro que hace que cada registro pase a estar una sola fila, pero ya no me es muy útil. Lo que sucede es que dentro de cada registro tengo datos (que pueden variar) que quiero que me aparezcan uno en cada linea acompañado de la misma cabecera del registro al que pertenecen.
Por ejemplo de la estructura de uno de los registros, siempre empiezan con GAME:
GAME 1234 CON 1
Terminal id
STATUS XYZ
details
  123
  456
  789
...
GAME ...
  ------------------------------------
Pues me gustaría que quedara así, en la columna de al lado:
¿GAME 1234 CPN1 TERMINAL ID STATUS XYZ DETAILS 123
GAME 1234 CPN1 TERMINAL ID STATUS XYZ DETAILS 456
GAME 1234 CPN1 TERMINAL ID STATUS XYZ DETAILS 789
me entiendes?
Esta es la macro que tengo:
Sub UniendoTexto()
Application.ScreenUpdating = False
Dim texto As String
Dim texto1 As String
Dim ini As Integer, fila As Integer
ini = 1
fila = 1
Range("A1").Select
While ActiveCell <> ""
texto = ActiveCell.Value
If Mid(texto, 1, 4) = "GAME" Then
If ini = 1 Then
ini = ini + 1
Else
Cells(fila, 2).Value = texto1
fila = fila + 1
End If
texto1 = ActiveCell.Value
Else
texto1 = texto1 + " " + ActiveCell.Value
ini = ini + 1
End If
ActiveCell.Offset(1, 0).Select
Wend
Cells(fila, 2).Value = texto1
Application.ScreenUpdating = True
End Sub
Muchas gracias por tu tiempo.
Y si proviene de archivo de texto porque no lo importas corrigiendo los datos en el texto mediante espacios, tabulaciones o comas. Te quedaría terminado al realizar la importación. Pásame un archivo de texto ponme tu correo y te mando un email me lo envías tal cual lo tienes y vemos la posibilidad de importarlo correctamente.
>Un saludo
>Julio
Julio, la opción que me das seria viable si no tuviera tantos registros. El mio no es el caso. De todas formas de agradezco tu ayuda en este asunto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas