Pasar columnas a filas

26/08/2009 - 19:04 por Victor Manuel Alonso | Informe spam
Buenas:

Como se puede hacer una macro que se recorra una columna en excel y vaya
escribiendo los datos en una fila determinada de otra hoja?

Ejemplo :

Hoja 1 tiene

A B
ase dic
fx com
trt

Quiero que cree otra hoja nueva (Final) que tenga
A B C
ase fx trt
dic com

Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
26/08/2009 - 21:18 | Informe spam
hola, Victor Manuel !

(p.e.)

Sub Copiar_valores_transpuestos()
Worksheets("hoja1").Range("a1").CurrentRegion.Copy
Worksheets("hoja2").Range("a1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End Sub

saludos,
hector.

__ OP __
Como se puede hacer una macro que se recorra una columna en excel y vaya escribiendo los datos en una fila determinada de otra hoja?
Ejemplo :
Hoja 1 tiene
A B
ase dic
fx com
trt
Quiero que cree otra hoja nueva (Final) que tenga
A B C
ase fx trt
dic com
Respuesta Responder a este mensaje
#2 Juan Español
26/08/2009 - 22:20 | Informe spam
Víctor Manuel, considera también la posibilidad de cambiar la línea:

Worksheets("hoja1").Range("a1").CurrentRegion.Copy

por

Worksheets("hoja1").Range("a1:a256").Copy

para el caso de que la columna a copiar no estuviera "aislada".

El acotar el rango de copia a "a1:a256" es para el caso de Excel 2003, para
Excel 2007 sería "a1:a16000", como máximo.
Es decir, el número de celdas a copiar no deberá exceder del número de
columnas donde se van a pegar.

P.S.
Perdona Héctor, pero me parecía interesante hacer (no sé si necesaria) la
aclaración.
Saludos.-


"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Victor Manuel !

(p.e.)

Sub Copiar_valores_transpuestos()
Worksheets("hoja1").Range("a1").CurrentRegion.Copy
Worksheets("hoja2").Range("a1").PasteSpecial Paste:=xlPasteValues,
Transpose:=True
Application.CutCopyMode = False
End Sub

saludos,
hector.

__ OP __
Como se puede hacer una macro que se recorra una columna en excel y vaya
escribiendo los datos en una fila determinada de otra hoja?
Ejemplo :
Hoja 1 tiene
A B
ase dic
fx com
trt
Quiero que cree otra hoja nueva (Final) que tenga
A B C
ase fx trt
dic com




Respuesta Responder a este mensaje
#3 Héctor Miguel
26/08/2009 - 22:40 | Informe spam
hola, Juan !

Víctor Manuel, considera tambien la posibilidad de cambiar la linea:
Worksheets("hoja1").Range("a1").CurrentRegion.Copy
por
Worksheets("hoja1").Range("a1:a256").Copy
para el caso de que la columna a copiar no estuviera "aislada".
El acotar el rango de copia a "a1:a256" es para el caso de Excel 2003
para Excel 2007 sería "a1:a16000", como maximo.
Es decir, el numero de celdas a copiar no debera exceder del numero de columnas donde se van a pegar.

P.S.
... me parecia interesante hacer (no se si necesaria) la aclaracion.



me parece acertada la aclaracion en cuanto al numero de columnas disponible al transponer filas, en todo caso...
solo habria que ajustar la "celda final" en el rango ("a1:a256") para incluir la columnas necesarias (2 en el ejemplo de OP)
o indicar con mayor precision el rango apropiado ? (para el caso del ejemplo, parecieran ser: "a1:b3")

saludos,
hector.

__ previos __
hola, Victor Manuel !

(p.e.)

Sub Copiar_valores_transpuestos()
Worksheets("hoja1").Range("a1").CurrentRegion.Copy
Worksheets("hoja2").Range("a1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End Sub

__ OP __
Como se puede hacer una macro que se recorra una columna en excel y vaya escribiendo los datos en una fila determinada de otra hoja?
Ejemplo :
Hoja 1 tiene
A B
ase dic
fx com
trt
Quiero que cree otra hoja nueva (Final) que tenga
A B C
ase fx trt
dic com
Respuesta Responder a este mensaje
#4 Victor Manuel Alonso
27/08/2009 - 17:26 | Informe spam
Muchas gracias a los 2

Un saludo

"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Juan !

Víctor Manuel, considera tambien la posibilidad de cambiar la linea:
Worksheets("hoja1").Range("a1").CurrentRegion.Copy
por
Worksheets("hoja1").Range("a1:a256").Copy
para el caso de que la columna a copiar no estuviera "aislada".
El acotar el rango de copia a "a1:a256" es para el caso de Excel 2003
para Excel 2007 sería "a1:a16000", como maximo.
Es decir, el numero de celdas a copiar no debera exceder del numero de
columnas donde se van a pegar.

P.S.
... me parecia interesante hacer (no se si necesaria) la aclaracion.



me parece acertada la aclaracion en cuanto al numero de columnas
disponible al transponer filas, en todo caso...
solo habria que ajustar la "celda final" en el rango ("a1:a256") para
incluir la columnas necesarias (2 en el ejemplo de OP)
o indicar con mayor precision el rango apropiado ? (para el caso del
ejemplo, parecieran ser: "a1:b3")

saludos,
hector.

__ previos __
hola, Victor Manuel !

(p.e.)

Sub Copiar_valores_transpuestos()
Worksheets("hoja1").Range("a1").CurrentRegion.Copy
Worksheets("hoja2").Range("a1").PasteSpecial Paste:=xlPasteValues,
Transpose:=True
Application.CutCopyMode = False
End Sub

__ OP __
Como se puede hacer una macro que se recorra una columna en excel y
vaya escribiendo los datos en una fila determinada de otra hoja?
Ejemplo :
Hoja 1 tiene
A B
ase dic
fx com
trt
Quiero que cree otra hoja nueva (Final) que tenga
A B C
ase fx trt
dic com








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida