Macro para copiar y pegar en otra hoja

Que tal amigos expertos necesito que me ayuden con una macro que me copie un rango de celdas de una hoja y las pegue en otra hoja, pero si hay datos en la fila que las pegue en la siguiente fila.

1 Respuesta

Respuesta
2

Juan carlos te copio un macro que a mi me funciono

Para copiar y pegar en la fila siguiente a donde hay datos

Espero que te sirva sino me consultas

Saludos

'declaro la variable en donde va a ir la ultima fila ocupada
dim ultfila as integer
Worksheets("hoja1"). Activate
'supongo que el rango que queres copiar es de a1 a b2
Range(Cells(1,1), Cells(2,2)). Copy
Worksheets("hoja2"). Activate
'el uno dentro de cells representa a la columna en la cual queremos saber si es el utlimo dato
ultfila = Cells(Rows.Count, 1).End(xlUp).Row
Cells(ultfila+1, 2).PasteSpecial xlPasteValues
Application.CutCopyMode = False

Hola buen día me podrías pasar bien el código de la macro, me refiero completo ya que no puedo saber en que parte se a ingresar.

Para eso necesitaría más datos

¿

¿A partir de que momento quieres que se inicie el macro? ¿Le vas a poner un botón?

Por otro lado pásame como se llaman las hojas y en que columna y a partir de que fila

Quieres que se fije si hay datos

1-Rango de celdas a copiar: A47:I61 de la hoja Requisicion estas celdas reflejan datos con formulas.

2-La hoja donde se van a pegar se llama Respaldo, quiero que se peguen a partir de la celda A2.

y como te comentaba que se peguen una tras de otra osea que si hay registros o datos en una fila la pegue en la siguiente y así consecutivamente.

Saludos.

Lo que me queda duda es si vos quieres que lo que se copia se

Pegue todo junto en la hoja respaldo o que vaya pegando fila por fila y si encuentra alguna que ya tiene información que la saltee y pegue en la siguiente

De esta ultima forma lo que vos copias no te quedaría todo junto.

¿Y por otro lado decime como se activa el copiado? ¿Vas a poner un botón o alguna otra forma?

seria que pegue fila por fila y si ya esta ocupada que salte la fila y la pegue en la que sigue, y si seria con un botón espero me hayas entendido.

Sisis, antes te habia entendidio mal pense q se tenia que pegar el bloque completo

Lo pienso y más tarde te lo mando

Ya tengo el código

Lo que tienes que hacer es crear un botón

Y pegar esto en el codio de la hoja que tiene el botón

Private Sub CommandButton1_Click()
copiar

End Sub

después insertas un modulo

y te copio lo que va adentro

Sub copiar()

For i = 47 To 61
Worksheets("Requisicion").Activate
Range(Cells(i, 1), Cells(i, 9)).Copy
Worksheets("Respaldo").Activate
'el uno dentro de cells representa a la columna en la cual queremos saber si es el utlimo dato
Range("A2").Activate
'ultfila = Cells(Rows.Count, 1).End(xlUp).Row
Do While Not IsEmpty(ActiveCell)
'Pues eso, hasta que no encuentre una fila
'vacía que baje una fila para abajo
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Next

End Sub

Lo probe y funciona cualquier cosa avisame

Si te conformo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas