Excel macro copiar pegar en celdas

Como crear una macro que haga la siguiente función, supongamos que tengo datos de a1 a a10 y quiero pegarlos en la hoja2, pero al momento de cambiar los valores de a1 a a10 se pega en hoja 2 pero en la columna b y así sucesivamente, si vuelvo a cambiar valores que se peguen a la c así indefinidamente.

2 Respuestas

Respuesta
2

Te anexo un código que te puede funcionar.

Actívala con un botón.

Programador -> Insertar -> Botón (dibujas) -> Macro copia_pega

Sub Copia_Pega()
'
Dim ultimo, x As Integer
Dim rango As String
'
    x = Sheets("Hoja2").UsedRange.Columns.Count + 1
        ultimo = Cells(Rows.Count, 1).End(xlUp).Row
    rango = "A1:A" & ultimo
'
Range(rango).Copy Destination:=Sheets("Hoja2").Cells(Rows.Count, x).End(xlUp).Offset(0, 0)
'
End Sub

Sólo cambia el nombre de tus hojas, inicialmente la primer pegada la anexará en la columna 'B' si no tienes datos en 'A', lo que hace es buscar qué columna tiene datos y pegar. 
(Si es el caso de que pruebes en una hoja donde no hay nada de información, en el destino elimina la columna 'A').

(Primer pegada)

Eliminamos columna A

Respuesta
2

Supongamos que tengo datos de a1 a a10

Si los datos están en la misma hoja2, entonces utiliza la siguiente:

Sub CopiarCeldas_2()
  With Sheets("Hoja2")
    .Cells(1, .UsedRange.Columns.Count + 1).Resize(10, 1).Value = .Range("A1:A10").Value
  End With
End Sub

Si los datos están en otra hoja, utiliza la siguiente y actualiza el nombre de la hoja1:

Sub CopiarCeldas_1()
  With Sheets("Hoja2")
    .Cells(1, .UsedRange.Columns.Count + 1).Resize(10, 1).Value = Sheets("Hoja1").Range("A1:A10").Value
  End With
End Sub

¡Gracias! Me sirvió mucho, aunque en esta parte "Si los datos están en otra hoja, utiliza la siguiente y actualiza el nombre de la hoja1" no me los pega en la hoja 2, ¿habrá una posible solución? Le agradezco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas