Funktionreferenz


_Excel_RangeDelete

Beschreibung anzeigen in

Löscht eine oder mehrere Zellen, Zeilen oder Spalten vom angegebenen Arbeitsblatt

#include <Excel.au3>
_Excel_RangeDelete ( $oWorksheet, $vRange [, $iShift = Default [, $iEntireRowCol = Default]] )

Parameter

$oWorksheet Excel Arbeitsblatt-Objekt
$vRange Kann ein Bereichs-Objekt oder ein A1 Bereich sein (z.B. "A1:B2, "1:2" (Zeile 1 bis 2), "D:G" (Spalten D bis G) etc.)
$iShift [optional] Gibt an, wie die Zellen verschoben werden sollen. Möglich ist xlShiftToLeft oder xlShiftUp von der XlDeleteShiftDirection Aufzählung.
    Wenn das Schlüsselwort Default gesetzt ist, entscheidet Excel basierend auf der Form des Bereichs (Standard = Schlüsselwort Default)
$iEntireRowCol [optional] Wenn der Parameter auf 1 gesetzt ist, wird die gesamte Zeile gelöscht, wenn er auf 2 gesetzt ist, wird die gesamte Spalte gelöscht (Standard = Schlüsselwort Default = nur den angegebenen Bereich löschen)

Rückgabewert

Erfolg: 1.
Fehler: 0 und setzt @error.
@error: 1 - $oWorksheet ist kein Objekt oder Arbeitsblatt-Objekt
2 - $vRange ist kein richtiger Bereich. @extended ist auf den COM Fehlercode gesetzt
3 - Ein Fehler trat beim löschen des Bereichs auf. @extended ist auf den COM Fehlercode gesetzt

Beispiel

Beispiel 1

#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_RangeDelete Example", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeDelete Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Löschen eines Bereichs mit 3 Zeilen und 2 Spalten auf dem aktiven Arbeitsblatt
; und Verschieben der Zellen nach oben.
Local $sRange = "J5:K7"
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeDelete Example 1", "Löschen von Zellen " & $sRange & ".")
_Excel_RangeDelete($oWorkbook.ActiveSheet, $sRange, $xlShiftUp)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeDelete Example 1", "Fehler beim Löschen von Zellen." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

Beispiel 2

#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_RangeDelete Example", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeDelete Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Löschen von 2 Zeilen (1 und 2) auf Arbeitsblatt 3
$oWorkbook.Worksheets(3).Activate
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeDelete Example 2", "Löschen der Zeilen 1 und 2 auf Arbeitsblatt 3.")
_Excel_RangeDelete($oWorkbook.Worksheets(3), "1:2")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeDelete Example 2", "Error deleting rows." & @CRLF & "@error = " & @error & ", @extended = " & @extended)