Copiar datos de una columna a otra hoja

Primero que todo felicidades por la pagina muy bonita.

La pregunta es esta en mi hoja 1 capturo como 20 datos en la columna b1 hasta b20 y con un botón mandarlos a la hoja 2 que es mi base de datos solamente que en la fila 1 tengo los títulos y deseo que se pases los datos por fila ose lo que capture en la hoja 1 en la columna a1, a2, a3 etc. Se pasen a la hoja 2 pero por fila a1, b1, c1 etc espero me halla explicado

2 respuestas

Respuesta
1

Con este código puedes hacer lo que necesitas, es mucho más ágil y simple

Sub traspone()
Dim uf As Integer
uf = Sheets("hoja1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Hoja1").Range(Cells(1, "A"), Cells(uf, "A")).Copy
Sheets("Hoja2").Cells(1, "A").PasteSpecial Paste:=xlPasteAll, Transpose:=True

Buen día experto me pareció excelente tu respuesta pero una cuestión nada mas lo ejecute y si copio toda la columna vertical a horizontal lo único es que se queda activada el recuadro punteado de lo que va a copiar y lo otro es que si capturo otros datos y los quiero pasar a la hoja 2 me los pasa en la misma fila de la anterior no me los respeta no se si se puede hacer que se vallan quedando los datos anteriores.

Para que no quede activado el recuadro haz

cells(1,1).select

para que quede las celdas con datos usa este código

Sub traspone()
Dim uf,uf1 As Integer
uf = Sheets("hoja1").Range("A" & Rows.Count).End(xlUp).Row

uf1 = Sheets("hoja2").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Hoja1").Range(Cells(1, "A"), Cells(uf, "A")).Copy
Sheets("Hoja2").Cells(uf1, "A").PasteSpecial Paste:=xlPasteAll, Transpose:=True

Respuesta

Intenta con este código yo solo llegue hasta el dato de la fila 8 pero tu lo puedes completar

Este código lo puedes ejecutar desde un botón como habías dicho

Y copia los 8 datos de a1 hasta a8 y los pega en la hoja2 en una sola fila

CÓDIGO

Sub copiadatos()
'
' copiardatos Macro
'
Application.ScreenUpdating = False
Worksheets("Hoja2").Activate
Worksheets("Hoja2").Select
Worksheets("Hoja2").Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Worksheets("Hoja2").Cells(2, 1).Value = Worksheets("Hoja1").Cells(1, 1).Value
Worksheets("Hoja2").Cells(2, 2).Value = Worksheets("Hoja1").Cells(2, 1).Value
Worksheets("Hoja2").Cells(2, 3).Value = Worksheets("Hoja1").Cells(3, 1).Value
Worksheets("Hoja2").Cells(2, 4).Value = Worksheets("Hoja1").Cells(4, 1).Value
Worksheets("Hoja2").Cells(2, 5).Value = Worksheets("Hoja1").Cells(5, 1).Value
Worksheets("Hoja2").Cells(2, 6).Value = Worksheets("Hoja1").Cells(6, 1).Value
Worksheets("Hoja2").Cells(2, 7).Value = Worksheets("Hoja1").Cells(7, 1).Value
Worksheets("Hoja2").Cells(2, 8).Value = Worksheets("Hoja1").Cells(8, 1).Value
Worksheets("Hoja1").Cells(1, 1).Value = ""
Worksheets("Hoja1").Cells(2, 1).Value = ""
Worksheets("Hoja1").Cells(3, 1).Value = ""
Worksheets("Hoja1").Cells(3, 1).Value = ""
Worksheets("Hoja1").Cells(4, 1).Value = ""
Worksheets("Hoja1").Cells(5, 1).Value = ""
Worksheets("Hoja1").Cells(6, 1).Value = ""
Worksheets("Hoja1").Cells(7, 1).Value = ""
Worksheets("Hoja1").Cells(8, 1).Value = ""
Worksheets("Hoja1").Activate
Worksheets("Hoja1").Select
Application.ScreenUpdating = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas