Copiar datos de una hoja a otra en la próxima fila vacía

Tengo una macro que copia los datos de una hoja a otra. Lo que me gustaría me ayuden para que los datos copiados de la hoja destino no se sobreescriban sobre los datos anteriores sino que lo haga desde la primer fila vacía. Mi macro es:

Sub CopiarCeldas()
'Definir objetos a utilizar
Dim wsOrigen As Excel.Worksheet, _
    wsDestino As Excel.Worksheet, _
    rngOrigen As Excel.Range, _
    rngDestino As Excel.Range
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Origen")
Set wsDestino = Worksheets("Destino")
'Indicar la celda de origen y destino
Const celdaOrigen = "A1"
Const celdaDestino = "A1"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
Set rngDestino = wsDestino.Range(celdaDestino)
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub

1 respuesta

Respuesta
2

Intentá reemplazando la instrucción Const celdaDestino = "A1" por esta otra:

celdaDestino = "A" & wsDestino.Range("A" & Rows.Count).End(xlUp).Row + 1

Si tu configuración te exige la declaración de variables, entonces al inicio agregá esta línea:

Dim celdaDestino As String

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas