Zum Hauptinhalt springen

VBA Excel: Beispiele für die Verwendung der IF LIKE-Funktion

Die IF LIKE-Funktion in der Programmiersprache VBA (Visual Basic for Applications) ist eine der nützlichsten Funktionen, die Sie verwenden können, um zu überprüfen, ob eine Zeichenfolge mit einem bestimmten Muster übereinstimmt. Die Möglichkeit, Vorlagen zu verwenden, macht es einfach, Kombinationen von Zeichen zu finden, was die IF LIKE-Funktion für die Arbeit mit Textdaten in Excel unerlässlich macht.

Mit der IF LIKE-Funktion können Sie eine Zeichenfolge mit einem Muster vergleichen, indem Sie Sonderzeichen verwenden, die als Metazeichen bezeichnet werden. Mit Metazeichen können Sie bestimmte Muster angeben, z. B. ein beliebiges Zeichen (*), eine beliebige Zahl (#), ein beliebiger Buchstabe (?) und vieles mehr. Auf diese Weise können Sie sehr flexibel und präzise Bedingungen für den String-Vergleich festlegen.

Beispiele für die Verwendung der IF LIKE-Funktion in Excel mit verschiedenen Vorlagen können wie folgt sein: prüfen, ob eine Zeichenfolge mit einem bestimmten Zeichensatz beginnt, prüfen, ob eine Zeichenfolge mit bestimmten Zeichen endet, prüfen, ob die Zeichenfolge innerhalb der Zeichenfolge bestimmte Zeichen enthält, prüfen, ob die Zeichenfolge mit der angegebenen Maske übereinstimmt.

Es ist wichtig zu beachten, dass die IF LIKE-Funktion Groß- und Kleinschreibung abhängig ist, sodass die Überprüfung möglicherweise Groß- und Kleinschreibung beachtet. Wenn Sie eine Nicht Groß- und Kleinschreibung prüfen möchten, können Sie die Funktion UCase oder LCase verwenden, um Zeichenfolgen vor dem Vergleich in Groß- oder Kleinbuchstaben umzuwandeln.

Beispiel 1: Überprüfen, ob ein bestimmtes Muster übereinstimmt

In diesem Beispiel verwenden wir die IF LIKE-Funktion, um zu überprüfen, ob der Zellenwert mit einem bestimmten Muster übereinstimmt.

Angenommen, wir haben eine Produktliste und möchten überprüfen, ob der Produktname ein Modellname ist, der mit dem Buchstaben "M" beginnt und mit "X" endet. Wenn ja, möchten wir die Meldung "Modell" in der Zelle nebenan anzeigen, wenn nicht, dann "Kein Modell".

Dazu verwenden wir die folgende Formel:

ArtikelnameErgebnis
Modell ABCX=IF(A2 LIKE "M*X","Modell","Kein Modell")
Produktbeispiel=IF(A3 LIKE "M*X","Modell","Kein Modell")
Modell XYZ=IF(A4 LIKE "M*X","Modell","Kein Modell")

Hier in der IF-Formel verwenden wir die LIKE-Funktion, mit der wir ein Muster zum Vergleichen festlegen können. Durch die Symbole * geben wir an, dass eine beliebige Anzahl von Zeichen zwischen den Buchstaben "M" und "X" liegen kann.

Nach der Anwendung dieser Formel erhalten wir folgende Ergebnisse:

ArtikelnameErgebnis
Modell ABCXDas Modell
ProduktbeispielKein Modell
Modell XYZDas Modell

Auf diese Weise können wir die IF LIKE-Funktion verwenden, um zu überprüfen, ob ein Wert einem bestimmten Muster entspricht und basierend auf den Validierungsergebnissen verschiedene Aktionen auszuführen.

Beispiel 2: Definieren eines Datentyps anhand eines Musters

Betrachten wir ein Beispiel, in dem wir eine Spalte mit unterschiedlichen Werten haben und ihren Datentyp definieren müssen.

Sub DetermineDataType()Dim rng As RangeDim cell As RangeSet rng = Range("A1:A10")For Each cell In rngIf cell.Value Like "##.##.####" ThenMsgBox "Значение " & cell.Value & " является датой."ElseIf cell.Value Like "###" ThenMsgBox "Значение " & cell.Value & " является числом."ElseMsgBox "Значение " & cell.Value & " является текстом."End IfNext cellEnd Sub

In diesem Beispiel verwenden wir Vorlagen, um den Datentyp eines Werts in einer Zelle zu definieren. Wenn der Wert mit dem Muster übereinstimmt "##.##.####" (zum Beispiel "25.12.2025"), wird es als Datum klassifiziert. Wenn der Wert mit dem Muster "###" übereinstimmt (z. B. "123"), wird er als Zahl klassifiziert. Andernfalls wird der Wert als Text klassifiziert.

Für jede Zelle im angegebenen Bereich überprüfen wir ihren Wert mit dem Like-Operator und geben die entsprechende Nachricht mit der MsgBox-Funktion aus.

Beispiel 2 zeigt, wie Sie die IF LIKE-Funktion verwenden können, um einen Datentyp anhand eines bestimmten Musters zu definieren. Dies kann nützlich sein, wenn Sie große Datenmengen verarbeiten und Operationen in Excel mithilfe von VBA automatisieren.

Beispiel 3: Filtern von Daten nach einem bestimmten Muster

In diesem Beispiel sehen wir uns an, wie Sie die IF LIKE-Funktion verwenden, um Daten nach einem bestimmten Muster zu filtern. Angenommen, wir haben eine Liste von Mitarbeitern und möchten nur diejenigen herausfiltern, deren Namen mit einem bestimmten Buchstaben oder einer Kombination von Buchstaben beginnen. Wir können dafür die IF LIKE-Funktion verwenden.

Hier ist ein Beispielcode:

NameBerufsbezeichnung
IwanManager
PeterEntwickler
AlexejTester
MariaAnalytiker
ElenaDer Designer

In diesem Beispiel möchten wir nur die Mitarbeiter herausfiltern, deren Namen mit dem Buchstaben "A" beginnen. Wir können die IF LIKE-Funktion verwenden, um dies zu tun:

Diese Formel prüft, ob der Wert der Zelle A2 mit dem Buchstaben "A" beginnt. Wenn die Bedingung erfüllt ist, wird der Name des Mitarbeiters zurückgegeben, andernfalls wird eine leere Zeichenfolge zurückgegeben.

Wir wenden diese Formel auf jede Zelle in der Spalte mit den Namen der Mitarbeiter an und erhalten das folgende Ergebnis:

NameErgebnis
Iwan
Peter
AlexejAlexej
Maria
Elena

Wie aus den Ergebnissen hervorgeht, beginnt nur der Name Alexei mit dem Buchstaben "A", daher wird nur sein Name zurückgegeben. Die anderen Namen entsprechen nicht dem angegebenen Muster und bleiben leer.

In diesem Beispiel haben wir ein einfaches Muster verwendet, aber mit der IF LIKE-Funktion können Sie komplexere Muster verwenden, einschließlich Platzhalterzeichen und Zeichen, um einen Wertebereich anzugeben. Dies bietet mehr Flexibilität beim Filtern von Daten nach Muster.

Beispiel 4: Ändern von Daten mithilfe einer Vorlage

Mit der IF LIKE-Funktion können Sie Daten nicht nur filtern, sondern sie auch mithilfe einer Vorlage ändern. Angenommen, Sie haben eine Liste der Familiennamen von Mitarbeitern und möchten jedem Nachnamen ein Präfix "Herr " hinzufügen.

Dazu können Sie das Muster "mr. *" in Kombination mit der Funktion "IF LIKE" verwenden. Hier ist ein Beispielcode:

Sub ModifyData() Dim surname As String Dim modifiedSurname As String 'Verarbeitet jede Zelle in Spalte A für jede Zelle im Bereich("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) surname = cell.Value 'Überprüfen, ob der Nachname mit dem Muster "Herr *" übereinstimmt If surname Like "Herr *" Then 'Änderung des Nachnamens modifiedSurname = "Herr " & Mid(surname, 4) cell.Value = modifiedSurname End If Next cell End Sub

In diesem Beispiel verwenden wir eine For Each-Schleife, um jede Zelle in Spalte A zu verarbeiten, beginnend mit der ersten bis zur letzten Zelle, die die Daten enthält. Wir überprüfen dann, ob der Zellenwert mit dem Muster "mr. *" übereinstimmt. Wenn ja, ändern wir den Zellenwert, indem wir das Präfix "mr. " hinzufügen. Das Änderungsergebnis wird zurück in die Zelle gespeichert.

Wenn Sie beispielsweise die Nachnamen "Herr Ivanov" und "Herr Petrov" haben, werden nach der Ausführung dieses Codes in Spalte A die Werte "Herr Ivanov" und "Herr Petrov" angezeigt. Alle anderen Nachnamen bleiben unverändert.

Dies ist nur ein Beispiel für die Verwendung der IF LIKE-Funktion, um Daten mithilfe eines Musters zu ändern. Sie können die Daten nach Ihren Bedürfnissen ändern, indem Sie das Muster und die Änderung ändern.