Capturas datos verticales a horizontales

Respuesta de
a
Usuario
Hola Elsa; mi nombre es cesar chira, soy fiel seguidor de tus acertados consejos y te felicito por el excelente trabajo que realizas.

Mi consulta es la siguiente: tengo diseñado una macro en el cual registro datos en un formulario, luego los grabo y se almacenan de forma vertical en otra hoja llamada registros, la cual tiene los nombres de los campo por ejemplo campo1, campo2, campo3, etc.
También tengo una carta de control estadística que le tengo que indicar que rango tiene que graficar.

Pregunta : como puedo de una manera automática pasar los últimos 20 últimos registros verticales (hoja- registros, a mi carta de control (hoja- carta1) en forma horizontal de los campos: campo1, campo3 y campo4

Te agradezco de antemano tu desinteresada labor y resare por ti.

Sin otro particular : cesar de perú
cchira@terra.com
Avatar
Experto
Hola:
(Agradezco los elogios)
Aquí te envío las instrucciones para que agregues a tu macro:
Sub transponer()
'para la primer col
Sheets("Registros").Select
Range("A60000").End(xlUp).Select
Range(ActiveCell, ActiveCell.Offset(-20, 0)).Select
Selection.Copy
Sheets("Carta").Select
Range("C1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

'para la segunda col
Sheets("Registros").Select
Range("C60000").End(xlUp).Select
Range(ActiveCell, ActiveCell.Offset(-20, 0)).Select
Selection.Copy
Sheets("Carta").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

'para la cuarta col
Sheets("Registros").Select
Range("D60000").End(xlUp).Select
Range(ActiveCell, ActiveCell.Offset(-20, 0)).Select
Selection.Copy
Sheets("Carta").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

End Sub


Tendrás que ajustar la celda de destino, en mi ejemplo utilices las de la col C
Saludos
Elsa

PD) Te recomiendo suscribirte GRATUITAMENTE al boletín de Excel de www.exceluciones.com, donde encontrarás ejemplos, soluciones y mucho material.
Usuario
elsa;
la macro se detiene en :

Sub transponer()
'para la primer col
Sheets("Registros").Select
Range("A60000").End(xlUp).Select
Range(ActiveCell, ActiveCell.Offset(-20, 0)).Select
Selection.Copy
Sheets("Carta").Select
Range("C1").Select

Selecciona bien los datos de la 1ra hoja, luego se posiciona en la segunda hoja "carta" y se queda en la celda c1 y se detiene la macro
Avatar
Experto
César:
Acabo de enviarte un archivo con la rutina incluida.
Saludos y no olvides finalizar
Elsa