MAcro copiar y pegar información variante

Hola ayuda por favor, tengo una hoja con 8 columnas de datos, copio y pego de otros files información para llenar las columnas, ok eso si lo puedo hacer en el macro, pero esta información cambia cada semana, si en la primera semana eran del primer file que copio 100 registros ahora son 45 y quiero que al final de la ultima celda donde se pego la info se pegue la siguiente, como le hago. Muchas gracias de antemano

1 Respuesta

Respuesta
1
Primero permitime que deje un mensaje a todos los usuarios que leen las respuestas:
'Cuando tienen una macro que necesita de algún ajuste o agregado, deben escribirla para así poder realizar el ajuste de modo más preciso.'
----------------------
Tu rutina de copiado necesita que previamente busques la primer fila libre, con algo así:
libre = sheets("Tu_hoja_destino").Range("A65536").end(xlup).row + 1
y luego la copia se hace en esa celda, por ej:
Range(...).copy destination:=sheets("Tu_hoja_destino").cells(libre,1) 
en este caso se pega en la fila libre, col A
Hola este es mi macro, donde colocaría la linea que me comentas. Estoy empezando con esto de VB así que estoy tratando de entender preguntando. Mil Gracias.
Sub Macro2()
'
' Macro2 Macro
'
'
    Sheets("Sheet1").Select
    Range("A1:L11").Select
    Selection.Copy
    Sheets("Sheet3").Select
    ActiveSheet.Paste
    Sheets("Sheet2").Select
    Range("A1:L7").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet3").Select
    Range("A12").Select
    ActiveSheet.Paste
    Range("M13").Select
End Sub
Siempre estás pegando en la hoja 3, es entonces en esa hoja que necesitas obtener la primer fila libre antes de pegar la información. Te quedaría así:
Sub Macro2()
'
' Macro2 Macro
'
'
    Sheets("Hoja1").Select
    Range("A1:L11").Select
    Selection.Copy
    Sheets("Hoja3").Select
libre = ActiveSheet.Range("A65536").End(xlUp).Row + 1
    ActiveSheet.Cells(libre, 1).Select
    ActiveSheet.Paste
    Sheets("Hoja2").Select
    Range("A1:L7").Select
    Selection.Copy
    Sheets("Hoja3").Select
libre = ActiveSheet.Range("A65536").End(xlUp).Row + 1
    ActiveSheet.Cells(libre, 1).Select
    ActiveSheet.Paste
    Range("M13").Select
End Sub
PD) En mi sitio encontrarás otros ejemplos de copiado y pegado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas