Zum Hauptinhalt springen

Excel VBA InStr - Beispiele und Tipps zur Verwendung

Die InStr-Funktion in Excel VBA ist eine der nützlichsten und am häufigsten verwendeten Funktionen für die Arbeit mit Zeichenfolgen. Es ermöglicht Ihnen, die Position des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge zu finden und das Ergebnis als Zahl zurückzugeben. InStr hat viele Anwendungsfälle, und die korrekte Verwendung dieser Funktion kann die Arbeit mit Daten erheblich erleichtern.

Eines der Hauptmerkmale der InStr-Funktion ist die Möglichkeit, nach einer Teilzeichenfolge zu suchen, wobei die Groß- und Kleinschreibung ignoriert wird. Dazu müssen Sie das spezielle Argument vbTextCompare verwenden. Wenn Sie beispielsweise in der Zeichenfolge "I have a red APPLE" nach dem Wort "apple" suchen und die Funktion InStr mit dem Argument vbTextCompare verwenden, lautet das Ergebnis 15, da das erste Vorkommen der Teilzeichenfolge "apple" mit 15 Zeichen beginnt.

Darüber hinaus kann die InStr-Funktion verwendet werden, um nicht nur nach einer Teilzeichenfolge, sondern auch nach einem beliebigen Zeichen oder einer Gruppe von Zeichen zu suchen. Zum Beispiel können Sie InStr verwenden, um das erste Vorkommen des Zeichens "," in einer Zeichenfolge mit Zahlen zu suchen, um sie in einzelne Elemente aufzuteilen.

Ein Beispiel für die Verwendung der InStr-Funktion könnte folgendermaßen aussehen:



Dim myString As String


Dim position As Integer


myString = "I Love VBA"


position = InStr(myString, "VBA", vbTextCompare)


MsgBox position

In diesem Beispiel sucht die InStr-Funktion nach der Teilzeichenfolge "VBA" in der Zeichenfolge "I Love VBA", wobei die Groß- /Kleinschreibung ignoriert wird, und gibt die Position des ersten Vorkommens der Teilzeichenfolge zurück, die 8 ist. Die MsgBox-Funktion zeigt dann das Ergebnis als Nachricht auf dem Bildschirm an.

Daher kann die Verwendung der InStr-Funktion in Excel VBA die Arbeit mit Strings erheblich vereinfachen und die Ausführung vieler Aufgaben beschleunigen. Beachten Sie jedoch die möglichen Einschränkungen und Besonderheiten dieser Funktion, um Fehler zu vermeiden und das gewünschte Ergebnis zu erzielen.

Beispiele für die Verwendung von Excel VBA InStr

In Excel VBA wird die InStr-Funktion verwendet, um nach einer Teilzeichenfolge in einer Zeichenfolge zu suchen. Es gibt die Position des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge zurück, oder 0, wenn keine Teilzeichenfolge gefunden wird.

Hier sind einige Beispiele für die Verwendung der InStr-Funktion in Excel VBA:

VBA-CodeDie Beschreibung
position = InStr(1, "abcdefg", "cde") Sucht nach dem Teilstring "cde" in der Zeichenfolge "abcdefg". Der Wert der Positionsvariablen beträgt 3.
position = InStr(1, "abcdefg", "xyz") Sucht nach dem Teilstring "xyz" in der Zeichenfolge "abcdefg". Der Wert der Positionsvariablen beträgt 0, da keine Teilzeichenfolge gefunden wurde.
position = InStr(3, "abcdefg", "b") Sucht nach der Teilzeichenfolge "b" in der Zeichenfolge "abcdefg" ab Position 3. Der Wert der Positionsvariablen beträgt 2.
position = InStrRev("abcdefg", "c") Sucht nach dem letzten Vorkommen der Teilzeichenfolge "c" in der Zeichenfolge "abcdefg". Der Wert der Positionsvariablen beträgt 3.

Die InStr-Funktion kann sehr nützlich sein, wenn Sie Textdaten verarbeiten und bestimmte Teilzeichenfolgen finden oder vergleichen müssen.

Tipps zur Verwendung von Excel VBA InStr

1. InStr-Versionen

Es gibt mehrere Versionen der InStr-Funktion in Excel VBA:

  • InStr - sucht nach dem ersten Vorkommen einer Teilzeichenfolge in einer Zeichenfolge;
  • InStrRev - führt eine umgekehrte Suche durch - sucht nach dem letzten Vorkommen einer Teilzeichenfolge in einer Zeichenfolge;
  • InStrB - Führt eine binäre Suche nach einer Zeichenfolge durch, die binäre Informationen enthält.

2. Registerabhängigkeit

InStr-Funktionen sind Groß- und Kleinschreibung empfindlich. Wenn Sie beispielsweise mit der InStr-Funktion nach der Zeichenfolge "Apple" suchen, wird die Teilzeichenfolge "Apple" oder "APPLE" nicht gefunden. Wenn Sie eine Groß- und Kleinschreibung beachten müssen, verwenden Sie die InStr-Funktion mit dem optionalen Parameter vbTextCompare.

3. Zurückgeben von Werten

Die InStr-Funktion gibt die Position des ersten Vorkommens einer Teilzeichenfolge in eine Zeichenfolge zurück. Wenn keine Teilzeichenfolge gefunden wird, wird 0 zurückgegeben. Beachten Sie, dass die Positionen mit 1 und nicht mit 0 beginnen.

4. Verwendung mit der IF-Bedingung

Die InStr-Funktion wird häufig in Verbindung mit der IF-Bedingung verwendet, um je nach Suchergebnis verschiedene Aktionen auszuführen. Zum Beispiel:

Dim searchString As StringDim position As LongsearchString = "apple"position = InStr(1, "I have an apple", searchString)If position > 0 ThenMsgBox "Substring found at position: " & positionElseMsgBox "Substring not found"End If

5. Verwendung mit Schleifen

Die InStr-Funktion kann auch nützlich sein, wenn Sie in Schleifen suchen, um Zeichenfolgen innerhalb eines Bereichs oder Arrays von Daten zu verarbeiten. Zum Beispiel:

Dim i As LongDim searchString As StringDim position As LongsearchString = "apple"For i = 1 To 10position = InStr(1, Range("A" & i).Value, searchString)If position > 0 ThenRange("B" & i).Value = "Substring found at position: " & positionElseRange("B" & i).Value = "Substring not found"End IfNext i

Hoffentlich werden diese Tipps Ihnen helfen, die InStr-Funktion effizienter in Ihren Excel-VBA-Projekten zu verwenden. Ein umfassendes Verständnis dieser Funktion ermöglicht es Ihnen, die Suche und Verarbeitung von Daten zu verwalten, was Ihre Arbeit erheblich vereinfachen kann.