Kopiert eine oder mehrere Zellen, Zeilen oder Spalten oder schneidet sie aus und fügt sie in einen Bereich ein oder von/in die Zwischenablage (Clipboard)
#include <Excel.au3>
_Excel_RangeCopyPaste ( $oWorksheet, $vSourceRange [, $vTargetRange = Default [, $bCut = False [, $iPaste = Default [, $iOperation = Default [, $bSkipBlanks = False [, $bTranspose = False]]]]]] )
$oWorksheet | Objekt der Arbeitsseite aus der kopiert werden soll |
$vSourceRange | Ursprungsbereich zum kopieren/ausschneiden. Kann ein Bereichs-Objekt oder ein A1 Bereich sein. Wenn das Schlüsselwort Default verwendet wird, wird der Bereich aus der Zwischenablage kopiert. |
$vTargetRange | [optional] Zielbereich in den kopiert/ausgeschnitten werden soll. Kann ein Bereichs-Objekt oder ein A1 Bereich sein. Wenn das Schlüsselwort Default verwendet wird, wird der Bereicht in die Zwischenablage kopiert (Standard = Schlüsselwort Default). |
$bCut | [optional] Wenn auf True gesetzt, so wird der Bereich nicht kopiert sondern ausgeschnitten (Standard = False) Dieser Parameter wird ignoriert, wenn $vSourceRange auf das Schlüsselwort Default gesetzt ist. |
$iPaste | [optional] Definiert, was aus der Zwischenablage eingefügt werden soll (Formeln, Formate ...). Muss ein Wert aus der XlPasteType Aufzählung sein. (Standard = Schlüsselwort Default) |
$iOperation | [optional] Definiert die durchzuführende Einfüge-Operation (hinzufügen, teilen, multiplizieren ... ). Muss ein Wert der XlPasteType Aufzählung sein. (Standard = Schlüsselwort Default) |
$bSkipBlanks | [optional] Wenn auf True gesetzt, so werden leere Zellen von der Zwischenablage nicht in den Zielbereich eingefügt (Standard = False) |
$bTranspose | [optional] Wenn auf True gesetzt, werden die Zeilen und Spalten beim Einfügen des Bereichs vertauscht (Standard = False) |
Erfolg: | Das Objekt des Zielbereichs, wenn $vTargetRange <> Default, andernfalls 1. |
Fehler: | 0 und setzt @error. |
@error: | 1 - $oWorksheet ist kein Objekt oder kein Arbeitsblatt 2 - $vSourceRange ist falsch. @extended ist auf den COM Fehlercode gesetzt 3 - $vTargetRange ist falsch. @extended ist auf den COM Fehlercode gesetzt 4 - Fehler beim Einfügen der Zellen. @extended ist auf den COM Fehlercode gesetzt 5 - Fehler beim Ausschneiden der Zellen. @extended ist auf den COM Fehlercode gesetzt 6 - Fehler beim Kopieren der Zellen. @extended ist auf den COM Fehlercode gesetzt 7 - $vSourceRange und $vTargetRange können nicht beide gleichzeitig auf das Schlüsselwort Default gesetzt werden |
$vSourceRange und $vTargetRange können nicht beide gleichzeitig auf das Schlüsselwort Default gesetzt werden
Wenn $vSourceRange = Default dann:
* wird der Bereich aus der Zwischenablage mit der PasteSpecial Methode kopiert
* $bCut wird ignoriert
* $iPaste, $iOperation, $bSkipBlanks und $bTranspose werdn berücksichtigt
Wenn $vSourceRange und $vTargetRange angegeben sind, wird $iPaste, $iOperation, $bSkipBlanks und $bTranspose ignoriert
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Anwendungsobjekt erstellen und eine Beispielarbeitsmappe öffnen
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Open Workbook 1
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Kopieren eines Bereichs mit 3 Zeilen und 2 Spalten auf das aktive Arbeitsblatt.
; Übergeben des Quellbereichs als Objekt.
Local $oRange = $oWorkbook1.ActiveSheet.Range("I2:J4")
_Excel_RangeCopyPaste($oWorkbook1.ActiveSheet, $oRange, "G7")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 1", "Fehler beim Kopieren von Zellen." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 1", "Bereich 'I2:J4' erfolgreich nach 'G7' kopiert.")
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Anwendungsobjekt erstellen und eine Beispielarbeitsmappe öffnen
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Arbeitsmappe 2 öffnen
Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls", True)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Arbeitsmappe 1 öffnen
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Kopieren einer einzelnen Zelle aus einer anderen Arbeitsmappe. Übergeben des Quellbereichs als Objekt.
Local $oRange = $oWorkbook2.Worksheets(1).Range("A1")
_Excel_RangeCopyPaste($oWorkbook1.Worksheets(1), $oRange, "G15")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 2", "Fehler beim Kopieren von Zellen." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 2", "Bereich 'A1' aus der Arbeitsmappe _Excel3.xls erfolgreich nach 'G15' kopiert.")
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Anwendungsobjekt erstellen und eine Beispielarbeitsmappe öffnen
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Arbeitsmappe 1 öffnen
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Kopieren von 2 Zeilen (1 und 2) aus Arbeitsblatt 2 in die Zwischenablage
_Excel_RangeCopyPaste($oWorkbook1.Worksheets(2), "1:2")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 3", "Fehler beim Kopieren von Zeilen." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 3", "Zeilen 1+2 erfolgreich von Arbeitsblatt 2 in die Zwischenablage kopiert.")
; Einfügen des in Beispiel 3 geschriebenen Bereichs aus der Zwischenablage in das aktive Arbeitsblatt.
; Es werden nur Werte ohne Formatierung eingefügt.
_Excel_RangeCopyPaste($oWorkbook1.Activesheet, Default, "1:1", Default, $xlPasteValues)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 4", "Fehler beim Kopieren von Zeilen." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 4", "2 Zeilen erfolgreich aus der Zwischenablage in Zeile 1 eingefügt.")
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Anwendungsobjekt erstellen und eine Beispielarbeitsmappe öffnen
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Arbeitsmappe 1 öffnen
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Übertragen des Formats einer Zelle auf andere Zellen
_Excel_RangeCopyPaste($oWorkbook1.Activesheet, "A1") ; Kopieren der Zelle in die Zwischenablage
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example5", "Fehler beim Kopieren von Zelle A1." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_RangeCopyPaste($oWorkbook1.Activesheet, Default, "B1:E16", Default, $xlPasteFormats) ; das Format in den Zielbereich einfügen
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example5", "Fehler beim Einfügen von Zellen." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeCopy Example 5", "Format der Zelle 'A1' erfolgreich in 'B1:E16' eingefügt.")