Range.Copy-Methode (Excel)

Kopiert den Bereich in den angegebenen Bereich oder in die Zwischenablage.

Hinweis

Haben Sie Interesse an der Entwicklung von Lösungen, mit denen die Funktionen von Office über mehrere Plattformen erweitert werden können? Schauen Sie sich das neue Office-Add-In-Modell an. Office-Add-Ins haben im Vergleich zu VSTO-Add-Ins und -Lösungen einen geringen Platzbedarf. Sie können sie mit fast jeder Web-Programmiertechnologie erstellen, z. B. HTML5, JavaScript, CSS3 und XML.

Syntax

Ausdruck.Kopie (Ziel)

Ausdruck Eine Variable, die ein Range-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Destination Optional Variant Gibt den neuen Bereich an, in den der angegebene Bereich kopiert wird. Fehlt dieses Argument, kopiert Microsoft Excel den Bereich in die Zwischenablage.

Rückgabewert

Variant

Beispiel

Im folgenden Codebeispiel werden die Formeln in den Zellen A1:D4 in „Sheet1" in die Zellen E5:H8 in „Sheet2" kopiert.

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

Das folgende Codebeispiel überprüft den Wert in Spalte D für jede Zeile in "Sheet1". Wenn der Wert in Spalte D "A" entspricht, wird die gesamte Zeile in die nächste leere Zeile von SheetA kopiert. Wenn der Wert "B" entspricht, wird die Zeile in SheetB kopiert.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.