Findet übereinstimmende Zellen in einem Bereich oder Arbeitsbuch und gibt ein Array mit den Informationen über die gefundenen Zellen zurück
#include <Excel.au3>
_Excel_RangeFind ( $oWorkbook, $sSearch [, $vRange = Default [, $iLookIn = $xlValues [, $iLookAt = $xlPart [, $bMatchcase = False]]]] )
$oWorkbook | Arbeitsbuch-Objekt |
$sSearch | Suchtext. Kann ein Text sein (Platzhalter (Wildcards) - *?~ - können genutzt werden) oder ein beliebiger Excel Datentyp. Siehe Remarks. |
$vRange | [optional] Ein Bereichsobjekt, ein A1 Bereich (Text) oder Schlüsselwort Default um alle Blätter des Arbeitsbuches zu durchsuchen (Standard = Schlüsselwort Default) |
$iLookIn | [optional] Gibt an, wo zu suchen ist. Kann eine Konstante aus der XLFindLookIn Aufzählung sein (Standard = $xlValues) |
$iLookAt | [optional] Gibt an, ob der Suchtext vollständig oder nur teilweise übereinstimmen muss. Kann eine Konstante aus der XLLookAt Aufzählung sein (Standard = $xlPart) |
$bMatchcase | [optional] True = Groß- und Kleinschreibung wird beachtet, False = Groß- und Kleinschreibung wird ignoriert (Standard = False) |
Erfolg: | Ein zwei-dimensionales, 0 basiertes Array mit folgender Information: 0 - Name des Arbeitsblattes 1 - Name der Zelle 2 - Adresse der Zelle 3 - Inhalt der Zelle 4 - Formel der Zelle 5 - Kommentar der Zelle |
Fehler: | 0 und setzt @error. |
@error: | 1 - $oWorkbook ist kein Objekt oder kein Arbeitsbuch-Objekt 2 - $sSearch ist leer 3 - $vRange ist falsch. @extended ist auf den COM Fehlercode gesetzt 4 - Fehler zurückgegeben von der Find Methode. @extended ist auf den COM Fehlercode gesetzt |
Diese Funktion imitiert die CTRL+F Funktionalität von Excel, außer, dass es den Zellenkommentar zum Ergebnis hinzufügt.
Excel erkennt die folgenden Platzhalter (Wildcards):
? (Fragezeichen) - Ein einzelndes Zeichen
* (Sternchen) - Beliebige Anzahl von Zeichen
~ (Tilde) - gefolgt von ?, *, oder ~ - Escaped das Zeichen (Das Zeichen selbst wird gesucht)
Wenn $vRange als A1 Bereich angegeben wird (Text), dann wird das aktive Arbeitsblatt des Arbeitsbuches durchsucht.
Siehe http://office.microsoft.com/en-us/excel-help/wildcard-characters-HP005203612.aspx.
#include <Array.au3>
#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_RangeFind 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_RangeFind Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Finden aller Vorkommen mit dem Wert "37000" (teilweise Übereinstimmung)
Local $aResult = _Excel_RangeFind($oWorkbook, "37000")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 1", "Fehler bei der Suche im Bereich." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 1", "Alle Vorkommen mit dem Wert '37000' finden (teilweise Übereinstimmung)." & @CRLF & "Daten erfolgreich durchsucht.")
_ArrayDisplay($aResult, "Excel UDF: _Excel_RangeFind Example 1", "", 0, "|", "Blatt|Name|Zelle|Wert|Formel|Kommentar")
#include <Array.au3>
#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_RangeFind 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_RangeFind Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Alle Vorkommen der Zeichenfolge "=C10*10" in den Formeln finden, exakte Übereinstimmung
Local $aResult = _Excel_RangeFind($oWorkbook, "=C10*10", "A1:G15", $xlFormulas, $xlWhole)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 2", "Fehler bei der Suche im Bereich." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 2", "Alle Vorkommen der Zeichenfolge '=C10*10' in den Formeln finden, exakte Übereinstimmung." & @CRLF & "Daten erfolgreich durchsucht.")
_ArrayDisplay($aResult, "Excel UDF: _Excel_RangeFind Example 2", "", 0, "|", "Blatt|Name|Zelle|Wert|Formel|Kommentar")
#include <Array.au3>
#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_RangeFind 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_RangeFind Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Alle Vorkommen der Zeichenfolge "test" in den Kommentaren finden
Local $aResult = _Excel_RangeFind($oWorkbook, "test", Default, $xlComments)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 3", "Fehler bei der Suche im Bereich." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 3", "Alle Vorkommen der Zeichenkette 'test' in den Kommentaren finden." & @CRLF & "Daten erfolgreich durchsucht.")
_ArrayDisplay($aResult, "Excel UDF: _Excel_RangeFind Example 3", "", 0, "|", "Blatt|Name|Zelle|Wert|Formel|Kommentar")
#include <Array.au3>
#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_RangeFind 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_RangeFind Example", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Finden aller Werte mit "Story" am Ende unter Verwendung von Platzhaltern und exakter Übereinstimmung
Local $aResult = _Excel_RangeFind($oWorkbook, "* Story", Default, Default, $xlWhole)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 4", "Fehler bei der Suche im Bereich." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeFind Example 4", "Finden aller Werte mit 'Story' am Ende unter Verwendung von Platzhaltern und exakter Übereinstimmung." & @CRLF & "Daten erfolgreich durchsucht.")
_ArrayDisplay($aResult, "Excel UDF: _Excel_RangeFind Example 4", "", 0, "|", "Blatt|Name|Zelle|Wert|Formel|Kommentar")