Modificación en macro para copiar

Tengo esta macrolo que hace es copiar datos de una hoja a otra hoja, el punto es que en cuanto detecta una celda en blanco se corta la copia y no copia el restante, ¿qué modificaciones tendría que hacer para que copie todo y con celdas vacías?

Sub CopiarCeldasAlumnos()

 Dim wsOrigen As Excel.Worksheet, _

    wsDestino As Excel.Worksheet, _

    rngOrigen As Excel.Range, _

    rngDestino As Excel.Range

Set wsOrigen = Worksheets("BD_Alumnos")

Set wsDestino = Worksheets("Alumnos_Selección")

Const celdaOrigen = "A7"

Const celdaDestino = "A8"

Set rngOrigen = wsOrigen.Range(celdaOrigen)

Set rngDestino = wsDestino.Range(celdaDestino)

rngOrigen.Select

Range(Selection, Selection.End(xlDown)).Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

 rngDestino.PasteSpecial xlPasteValues

Application.CutCopyMode = False

 End Sub

1 Respuesta

Respuesta
2

Prueba con la siguiente

Sub CopiarCeldasAlumnos()
    Dim wsOrigen As Excel.Worksheet, _
        wsDestino As Excel.Worksheet, _
        rngOrigen As Excel.Range, _
        rngDestino As Excel.Range
    Set wsOrigen = Worksheets("BD_Alumnos")
    Set wsDestino = Worksheets("Alumnos_Selección")
    Const celdaOrigen = "A7"
    Const celdaDestino = "A8"
    Set rngOrigen = wsOrigen.Range(celdaOrigen)
    Set rngDestino = wsDestino.Range(celdaDestino)
    uf = wsOrigen.Range("A" & Rows.Count).End(xlUp).Row
    uc = wsOrigen.Cells(7, Columns.Count).End(xlToLeft).Column
    'rngOrigen.Select
    'Range(Selection, Selection.End(xlDown)).Select
    'Range(Selection, Selection.End(xlToRight)).Select
    'Selection.Copy
    wsOrigen.Rows(7 & ":" & uf).Copy
    rngDestino.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End Sub

[' Si es lo que necesitas. No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas