Método Range.Copy (Excel)

Copia el rango en el rango especificado o en el Portapapeles.

Nota:

¿Le interesa el desarrollo de soluciones que amplían la experiencia de Office en varias plataformas? Vea el nuevo modelo de complementos de Office. Los complementos de Office tienen una huella pequeña en comparación con los complementos y soluciones de VSTO, y se pueden construir utilizando casi cualquier tecnología de programación web, como HTML5, JavaScript, CSS3 y XML.

Sintaxis

expresión. Copia (Destino)

expresión Variable que representa un objeto Range.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Destination Opcional Variant Especifica el nuevo rango en el que se copiará el rango especificado. Si omite este argumento, Microsoft Excel copia el rango en el Portapapeles.

Valor devuelto

Variant

Ejemplo

En el siguiente ejemplo se copian las fórmulas de las celdas A1:D4 de Sheet1 en las celdas E5:H8 de Sheet2.

Worksheets("Sheet1").Range("A1:D4").Copy _ 
    destination:=Worksheets("Sheet2").Range("E5:H8")

En el siguiente ejemplo se inspecciona el valor de la columna D para cada fila de la Hoja1. Si el valor de la columna D es igual a A, toda la fila se copia en HojaA en la siguiente fila vacía. Si el valor es igual a B, la fila se copia en HojaB.

Public Sub CopyRows() 
    Sheets("Sheet1").Select 
    ' Find the last row of data 
    FinalRow = Cells(Rows.Count, 1).End(xlUp).Row 
    ' Loop through each row 
    For x = 2 To FinalRow 
        ' Decide if to copy based on column D 
        ThisValue = Cells(x, 4).Value 
        If ThisValue = "A" Then 
            Cells(x, 1).Resize(1, 33).Copy 
            Sheets("SheetA").Select 
            NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 
            Cells(NextRow, 1).Select 
            ActiveSheet.Paste 
            Sheets("Sheet1").Select 
        ElseIf ThisValue = "B" Then 
            Cells(x, 1).Resize(1, 33).Copy 
            Sheets("SheetB").Select 
            NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 
            Cells(NextRow, 1).Select 
            ActiveSheet.Paste 
            Sheets("Sheet1").Select 
        End If 
    Next x 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.