¿Cómo puedo hacer una macro, para copiar y pegar datos de una hoja a otra en excel y que lo haga en forma secuencial?

Les envío el código de la macro, pero cada que lo ejecuto lo hace en las mismas líneas y yo quiero que lo haga de forma secuencial sin borrar lo anterior

Range("A18:A26").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumen").Select
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Base").Select
Range("B13").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumen").Select
Range("B6:B14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Base").Select
Range("O9:P9").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumen").Select
Range("C6:C14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Base").Select
Range("B18:BC26").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumen").Select
Range("D6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Respuesta
1

¿Cuándo Dices en las mismas líneas te refieres a que copie en la hoja pero debajo de la línea que esta llena?

Así es, que copie después de la ultima línea

Ok, el problema en tu macro es que siempre le das la misma celda cuando le das el range

Range("C6:C14").Select

Así que lo que haremos es crear una variable llamada filacopia y otra ultimafila,

Filacopia sera la fila a copiar a tu otra hoja de tu hoja actual

Ultima fila sera la que buscara la fila que este vacía

QUEDA ALGO ASÍ----------------------------------------

sheets("Tu Hoja a copiar").select

filacopia=Range("B1048576").End(xlUp). Row 'B1048576 es la columna donde buuscara

Cells(filacopia, 2).select 'DONDE DOS REPRESENTA LA COLUMNA B , 1 LA A y asi sucesivamente 

Selection. Copy

sheets("hoja a copiar").select

ultimafila=Range("B1048576").End(xlUp).Row 'B1048576 es la columna donde buscara

cells(ultimafila,"tu columna").select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

------------------------------------------

Espero me haya echo entender... cualquier cosa avisa

¡Gracias! 

lo reviso y te aviso

Corrijo estas dos lineas

filacopia=Range("B1048576").End(xlUp).Row +1

ultimafila=Range("B1048576").End(xlUp).Row+1

Si no le pones +1 copiara en la ultima celda YA CON DATOS

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas