In der Programmiersprache VBA, die in Excel verwendet wird, ist die Funktion WorksheetFunction Match ist ein Werkzeug, um einen Wert in einem Zellenbereich zu finden und seine Position zurückzugeben. Diese Funktion ist sehr nützlich, da Sie die benötigten Daten automatisch finden können, ohne dass eine manuelle Suche erforderlich ist.
Die Syntax der Match-Funktion lautet wie folgt:
WorksheetFunction.Match(Wert, Bereich, Suchtyp)
Wert – Der Wert, den Sie im Zellenbereich suchen möchten. Bereich – Der Zellenbereich, in dem gesucht wird. Suchtyp – Ein Parameter, der den Suchtyp angibt. Wenn Sie beispielsweise den Wert 0 oder false verwenden, wird nur nach einer genauen Übereinstimmung gesucht. Wenn Sie den Wert 1 oder true verwenden, wird nach dem nächsten Wert gesucht.
Beispiel für die Verwendung von WorksheetFunction Match:
Dim rng As Range
Dim value As Variant
Dim position As Variant
Set rng = Range("A1:A10")
value = "apple"
position = WorksheetFunction.Match(value, rng, 0)
MsgBox "Die Position der Zelle mit dem Wert " & value & " im Bereich " & rng".Address & " gleich " & position
In diesem Beispiel finden wir im Zellenbereich von A1 bis A10 den Wert "apple" und geben die Position dieser Zelle mithilfe der WorksheetFunction Match-Funktion aus. Auf diese Weise können wir die Werte, die wir benötigen, schnell und einfach im Dokument finden, ohne jede Zelle manuell durchsuchen zu müssen.
Beschreibung der VBA-Funktion Excel WorksheetFunction Match
Excel WorksheetFunction Match VBA-Funktion wird verwendet, um einen Wert innerhalb eines Bereichs zu suchen und die Position dieses Werts innerhalb eines Bereichs zurückzugeben. Es hat die folgende Syntax:
WorksheetFunction.Match(Suchwert, Suchbereich, [Konformitätstyp])
- Suchwert - der Wert, den Sie im Bereich finden möchten.
- Suchbereich - der Bereich, in dem nach dem Wert gesucht werden soll.
- Konformitätstyp (optional) - passende Art zu suchen. Dieser Parameter kann die folgenden Werte annehmen: 0 für die genaue Übereinstimmung, 1 für die Suche nach dem nächsten kleineren Wert und -1 für die Suche nach dem nächsten größeren Wert.
Die Funktion gibt die Position des gefundenen Werts innerhalb des Bereichs zurück. Wenn kein Wert gefunden wird, gibt die Funktion den Fehler #N/A zurück.
Beispiel für die Verwendung einer Funktion:
Sub MatchExample()Dim values As RangeDim searchValue As VariantDim result As VariantSet values = Range("A1:A5")searchValue = "apple"result = WorksheetFunction.Match(searchValue, values, 0)MsgBox "Найдено значение в позиции " & resultEnd Sub
In diesem Beispiel suchen wir nach dem Wert "apple" im Bereich A1:A5. Die Match-Funktion gibt die Position eines Werts innerhalb eines Bereichs zurück. Wenn kein Wert gefunden wird, wird ein Fehler ausgegeben.
VBA-Syntax für Excel WorksheetFunction Match
Die VBA-Funktion Excel WorksheetFunction.Match wird verwendet, um nach einem bestimmten Wert in einem Zellenbereich zu suchen, und gibt die Position dieses Werts zurück.
Die Syntax der Excel WorksheetFunction-VBA-Funktion.Match sieht folgendermaßen aus:
- WorksheetFunction.Match (Suchwert, Suchbereich, [Gleichungstyp])
Suchwert ist der Wert, nach dem wir in einem Zellbereich suchen.
Suchbereich ist der Bereich der Zellen, in dem wir nach einem Wert suchen.
Ein Gleichungstyp (optional) ist eine Möglichkeit, den Suchwert mit den Werten im Suchbereich zu vergleichen. Mögliche Werte:
- 1 - Suche nach dem nächsten kleineren Wert;
- 0 - Suche nach dem genauen Wert (Standard);
- -1 - Sucht nach dem nächsten größeren Wert.
Der von WorksheetFunction zurückgegebene Wert.Match hängt vom Erfolg der Suche ab:
- Wenn ein Wert gefunden wird, gibt die Funktion die Position des Werts im Zellbereich zurück.
- Wenn kein Wert gefunden wird, gibt die Funktion den Fehler #N/A zurück (nicht verfügbar).
Beispiele für die Verwendung von WorksheetFunction.Match :
-
Finde die Position des Werts "Apple" im Zellbereich A1:A10:
Dim result As Variantresult = WorksheetFunction.Match("Apple", Range("A1:A10"), 0)
Dim result As Variantresult = WorksheetFunction.Match(7.5, Range("B1:B5"), 1)
Beispiele für die Verwendung der VBA-Funktion Excel WorksheetFunction Match
Hier sind einige Beispiele für die Verwendung der Match-Funktion :
-
Ein einfaches Beispiel für die Verwendung der Match-Funktion zum Suchen nach einem Wert in einem eindimensionalen Bereich:
Dim value As VariantDim range As RangeDim position As Variantvalue = "Apple"Set range = Range("A1:A10")position = WorksheetFunction.Match(value, range, 0)MsgBox "Позиция значения " & value & " в диапазоне " & range.Address & " равна " & position
Dim value As VariantDim range As RangeDim position As Variantvalue = "Apple"Set range = Range("A1:B10")position = WorksheetFunction.Match(value, range, 0)MsgBox "Позиция значения " & value & " в двухмерном диапазоне " & range.Address & " равна " & position
Dim values As RangeDim sequence As RangeDim position As VariantSet values = Range("A1:A10")Set sequence = Range("C1:C10")position = WorksheetFunction.Match(values, sequence, 0)MsgBox "Позиции значений " & values.Address & " в диапазоне " & sequence.Address & " равны " & position
Beachten Sie jedoch, dass die Funktion WorksheetFunction.Match kann einen Fehler verursachen, wenn kein Wert im Bereich gefunden wird. Daher wird empfohlen, vor dem Aufruf der Funktion eine Überprüfung auf einen Wert zu verwenden.
Suchen des entsprechenden Werts mithilfe der VBA-Funktion Excel WorksheetFunction Match
Mit der VBA-Funktion Excel WorksheetFunction Match können Sie einen Wert innerhalb eines bestimmten Bereichs suchen und die Position des gefundenen Werts zurückgeben. Dies ist eine sehr nützliche Funktion, mit der Sie die entsprechenden Werte in großen Datenmengen leicht finden können.
Syntax für WorksheetFunction Match:
- WorksheetFunction.Match(lookup_value, lookup_array, [match_type])
lookup_value - Der Wert, den Sie im Bereich finden möchten
lookup_array - der Bereich, in dem nach einem Wert gesucht wird
match_type - Ein optionaler Parameter, der den Suchtyp angibt
- 0 oder weggelassen - die genaue Übereinstimmung des Werts
- 1 ist der nächste Wert, der größer oder gleich dem gewünschten Wert ist
- -1 ist der nächste Wert, der kleiner oder gleich dem gewünschten Wert ist
Beispiel für die Verwendung der VBA-Funktion Excel WorksheetFunction Match:
Sub FindValue()Dim lookup_value As VariantDim lookup_array As RangeDim result As Variantlookup_value = "apple"Set lookup_array = Range("A1:A10")result = WorksheetFunction.Match(lookup_value, lookup_array, 0)If Not IsError(result) ThenMsgBox "Значение " & lookup_value & " найдено в ячейке " & lookup_array.Cells(result).AddressElseMsgBox "Значение " & lookup_value & " не найдено"End IfEnd Sub
In diesem Beispiel sucht die Funktion nach dem Wert "apple" im Bereich A1:A10. Wenn ein Wert gefunden wird, wird eine Meldung mit der Adresse der gefundenen Zelle angezeigt, und wenn kein Wert gefunden wird, wird eine Meldung angezeigt, dass der Wert nicht gefunden wurde.
Die Excel WorksheetFunction Match-Funktion von VBA ist ein sehr leistungsfähiges Werkzeug, um in großen Datenmengen nach relevanten Werten zu suchen. Mit dieser Anwendung können Sie Aufgaben zur Datenverarbeitung und -analyse in Excel automatisieren und vereinfachen.
Bestimmen der Position eines Werts in einem Bereich mithilfe der VBA-Funktion Excel WorksheetFunction Match
Mit der VBA-Funktion Excel WorksheetFunction Match können Sie die Position eines bestimmten Werts in einem bestimmten Bereich bestimmen. Diese Funktion ist besonders nützlich, wenn Sie die Position eines Elements in einer Spalte oder Zeile suchen möchten.
Syntax der Match-Funktion:
- Lookup_value: der zu suchende Wert;
- Lookup_array: der Bereich, in dem nach einem Wert gesucht wird;
- Match_type: optionales Argument, das den Zuordnungstyp angibt:
- -1 oder "kleiner als oder gleich": Findet den größten Wert, kleiner als oder gleich Lookup_value;
- 0 oder "ungefähre": Findet einen Wert, der dem Lookup_value am nächsten liegt;
- 1 oder "größer oder gleich": findet den kleinsten Wert, der größer oder gleich Lookup_value ist.
Beispiel für die Verwendung der Match-Funktion:
Nehmen wir an, wir haben den folgenden Bereich A1:A5 mit den Zahlen 10, 20, 30, 40 und 50. Wir möchten die Position des Wertes 30 in diesem Bereich bestimmen.
Sub FindPosition()Dim RangeToSearch As RangeSet RangeToSearch = Range("A1:A5")Dim ValueToFind As VariantValueToFind = 30Dim Position As VariantPosition = Application.WorksheetFunction.Match(ValueToFind, RangeToSearch, 0)If Not IsError(Position) ThenMsgBox "Значение 30 найдено в ячейке: " & RangeToSearch.Cells(Position, 1).AddressElseMsgBox "Значение 30 не найдено в диапазоне."End IfEnd SubDas Ergebnis der Makroausführung gibt die Position des Werts 30 innerhalb des angegebenen Bereichs an.
Mit der Match-Funktion können Sie effektiv die Position eines Werts innerhalb eines bestimmten Bereichs bestimmen. Dies ist besonders nützlich, wenn Sie mit großen Datensätzen arbeiten, wenn die Suche zeitaufwendig sein kann.
Hinweise und Einschränkungen bei der Verwendung der VBA-Funktion Excel WorksheetFunction Match
Wenn Sie die VBA-Funktion verwenden, wird Excel WorksheetFunction verwendet.Um einen Wert in einem Bereich zu finden, sollten Sie die folgenden Punkte berücksichtigen:
- Die Match-Funktion sucht nur in eindimensionalen Bereichen, sodass entweder eine Zeile oder eine Spalte übergeben werden muss.
- Wenn der gesuchte Wert nicht im Bereich gefunden wird, gibt die Match-Funktion den Fehler #N/A zurück. Es wird empfohlen, ein Fehlerüberprüfungskonstrukt zu verwenden, um solche Fälle zu behandeln.
- Die Match-Funktion sucht standardmäßig nach einem Wert, der dem gewünschten Wert entspricht. Mit dem dritten Argument der Match-Funktion können Sie jedoch andere Zuordnungskriterien festlegen, z. B. nach dem maximalen Wert, dem nächsten kleineren oder dem nächsten größeren Wert suchen.
- Die Match-Funktion berücksichtigt das Zellenformat nicht, daher sollten Sie bei der Verwendung der Funktion nach Werten suchen, deren Format sich vom Zellenformat im Bereich unterscheiden kann.
- Wenn mehrere identische Werte im Bereich vorhanden sind, gibt die Match-Funktion den Index des ersten gefundenen Werts zurück.
- Da es sich bei der Match-Funktion um eine Excel-orientierte Funktion handelt, kann ihre Verwendung in VBA auf die Programmfunktionen oder die Excel-Version beschränkt sein. Es wird empfohlen, zuerst die Dokumentation für die Excel-Version zu lesen, die zum Entwickeln des Skripts verwendet wird.
Die Excel WorksheetFunction VBA-Funktion ist in Anbetracht der obigen Hinweise und Vorbehalte hilfreich.Match ist ein leistungsfähiges Werkzeug, um Werte in Bereichen zu finden und die Arbeit mit Daten in Tabellen zu erleichtern.