Zum Hauptinhalt springen

Excel VBA und InStr-Funktion: So verwenden Sie die Teilstringsuche in VBA

Excel VBA ist ein leistungsfähiges Tool, mit dem Sie Aufgaben in Excel durch Programmierung automatisieren können. Eine der nützlichen Funktionen von Excel VBA ist die InStr-Funktion, mit der Sie nach einer Teilzeichenfolge in einer Zeichenfolge suchen können. In diesem Artikel werden wir uns mit der InStr-Funktion befassen, um eine Teilstringsuche in VBA zu implementieren.

Die InStr-Funktion in VBA gibt den Index des ersten Vorkommens der gesuchten Teilzeichenfolge in der angegebenen Zeichenfolge zurück. Es hat mehrere erforderliche Argumente, z. B. die ursprüngliche Zeichenfolge und die gesuchte Teilzeichenfolge, und einige optionale Parameter wie die Parameter für den Anfangsindex und den Groß-/Kleinschreibung. Sobald die Funktion das erste Vorkommen einer Teilzeichenfolge findet, gibt sie ihren Index zurück. Wenn keine Teilzeichenfolge gefunden wird, gibt die Funktion 0 zurück.

Beispiel für die Verwendung der InStr-Funktion in VBA:

Sub SearchString()

Dim fullString As String

Dim searchString As String

Dim index As Integer

fullString = "Dies ist ein Beispiel für eine Zeichenfolge, in der wir nach einer Teilzeichenfolge suchen möchten."

searchString = "Beispiel"

index = InStr(fullString, searchString)

If index <> 0 Then

MsgBox "Teilzeichenfolge an Position gefunden " & index

Else

MsgBox "Teilzeichenfolge nicht gefunden"

End If

End Sub

In diesem Beispiel suchen wir nach der Teilzeichenfolge "Beispiel" in der ursprünglichen Zeichenfolge und geben eine Nachricht mit dem Suchergebnis aus. Wenn eine Teilzeichenfolge gefunden wird, wird die Position des ersten Vorkommens in der Zeichenfolge angezeigt, andernfalls wird eine Meldung angezeigt, dass die Teilzeichenfolge nicht gefunden wurde.

Die Verwendung der InStr-Funktion in VBA kann in verschiedenen Szenarien nützlich sein, z. B. bei der Suche nach bestimmten Werten in großen Datentabellen oder beim Filtern von Daten in Excel. Es wird Ihnen helfen, Ihre Zeit erheblich zu reduzieren und Ihre Arbeit mit Excel zu vereinfachen. Lernen Sie die InStr-Funktion kennen und verwenden Sie sie noch heute in Ihren Excel-VBA-Projekten!

Excel VBA und InStr-Funktion

Funktion InStr akzeptiert zwei erforderliche Argumente: die gesuchte Teilzeichenfolge und die Zeichenfolge, in der Sie suchen möchten. Es gibt die Position des ersten Vorkommens der gesuchten Teilzeichenfolge in der angegebenen Zeichenfolge zurück.

Betrachten Sie beispielsweise das folgende Beispiel:

Sub SearchString() Dim text As String Dim search As String Dim position As Integer text = "Hello, world!" search = "world" position = InStr(text, search) If position > 0 Then MsgBox "Ein Teilstring wurde an Position " & position & " gefunden." Else MsgBox "Teilzeichenfolge wurde nicht gefunden." End If End Sub

In diesem Beispiel suchen wir nach der Teilzeichenfolge "world" in der Zeichenfolge "Hello, world!". Die Funktion InStr gibt 8 zurück, da die gesuchte Teilzeichenfolge mit dem 8. Zeichen beginnt. Wenn keine Teilzeichenfolge gefunden wird, gibt die Funktion 0 zurück.

Die InStr-Funktion kann auch mit zusätzlichen Argumenten verwendet werden, um die Startposition der Suche sowie den Vergleichsmodus anzugeben. Zum Beispiel:

position = InStr(6, text, search, vbTextCompare)

In diesem Beispiel geben wir an, dass die Suche mit dem 6. Zeichen einer Zeichenfolge beginnt. Wir verwenden auch ein Argument vbTextCompare, um einen groß- und Kleinschreibung abhängigen Vergleich durchzuführen.

Abschließend ist die InStr-Funktion ein leistungsfähiges Werkzeug, um eine Teilzeichenfolge in einer Zeichenfolge in der Excel-VBA-Sprache zu finden. Es ermöglicht Ihnen, die Position des ersten Vorkommens der gesuchten Teilzeichenfolge zu finden, was bei der Verarbeitung und Analyse von Daten in Excel nützlich sein kann.

Beschreibung der InStr-Funktion

Funktion InStr in der Programmiersprache VBA (Visual Basic for Applications) wird verwendet, um nach einer Teilzeichenfolge in einer Zeichenfolge zu suchen und die Position des ersten Vorkommens einer gefundenen Teilzeichenfolge zurückzugeben. Die Funktion hat die folgende Syntax:

InStr([начало_поиска], строка, подстрока [, сравнение])

[Suchbeginn] - optionales Argument, das die Startposition der Suche in einer Zeichenfolge angibt. Wenn dieses Argument nicht angegeben wird, wird die Suche am Anfang der Zeichenfolge gestartet.

Zeile - das erforderliche Argument, in dem die Suche stattfindet.

Teilzeichenfolge - ein erforderliches Argument, das in einer Zeichenfolge gefunden werden muss.

[Vergleich] - optionales Argument, das den Vergleichstyp bei der Suche angibt. Gültige Werte sind vbBinaryCompare (Binärvergleich) und vbTextCompare (Groß-/Kleinschreibung beachten). Wenn dieses Argument nicht angegeben wird, wird standardmäßig vbBinaryCompare verwendet.

Funktion InStr gibt eine ganze Zahl zurück, die die Position der gefundenen Teilzeichenfolge in der ursprünglichen Zeichenfolge darstellt. Wenn keine Teilzeichenfolge gefunden wird, gibt die Funktion 0 zurück.

Beispiel für die Verwendung einer Funktion InStr:

Dim str As Stringstr = "Hello, world!"Dim position As Integerposition = InStr(str, "world")If position > 0 ThenMsgBox "Подстрока найдена на позиции " & positionElseMsgBox "Подстрока не найдена"End If

In diesem Beispiel ist die Funktion InStr sucht nach der Teilzeichenfolge "world" in der Zeichenfolge "Hello, world!". Wenn eine Teilzeichenfolge gefunden wird, wird die Meldung "Teilzeichenfolge an Position gefunden" angezeigt [positionsnummer]" und wenn nicht – "Teilzeichenfolge wurde nicht gefunden."

Anwendungsbeispiele

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

Im Folgenden finden Sie einige Beispiele für die Verwendung der InStr-Funktion:

Beispiel 1:

Sub SearchSubstring() Dim str As String Dim searchStr As String ' Suchzeichenfolge angeben str = "Dies ist ein Beispiel für eine Suchzeichenfolge" ' Suchzeichenfolge angeben searchStr = "Teilzeichenfolgen" ' Suche nach der Position des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge suchen Dim pos As Integer pos = InStr(str, searchStr) If pos > 0 Then MsgBox " Teilzeichenfolge wurde an der Position gefunden: " & pos Else MsgBox "Teilzeichenfolge wurde nicht gefunden" End If End Sub Substring = "Substring" ' Suche nach der Position des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge Dim pos As Integer pos = InStr(str, searchStr) If pos > 0 Then MsgBox "Teilzeichenfolge wurde an der Position gefunden: " & pos Else MsgBox "Teilzeichenfolge wurde nicht gefunden" End If End Substring

Beispiel 2:

Function FindSubstring(str As String, searchStr As String) As Integer ' Suche nach der Position des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge FindSubstring = InStr(str, searchStr) End Function Sub TestFindSubstring() Dim str As String Dim searchStr As String ' Suche nach einer Zeichenfolge str = "Dies ist ein Beispiel für eine Zeichenfolge, die nach einer Teilzeichenfolge gesucht werden soll" ' Suche nach einer Teilzeichenfolge searchStr = "Teilzeichenfolgen" ' Suche nach einer Teilzeichenfolge aufrufen Dim pos Als Integer pos = FindSubstring(str, searchStr) If pos > 0 Then MsgBox "Teilstring wurde an der Position gefunden: " & pos Else MsgBox "Teilstring wurde nicht gefunden" End If End Sub

In den obigen Beispielen wird die InStr-Funktion verwendet, um die Unterzeichenfolge "Teilzeichenfolgen" in der Zeichenfolge "Dies ist ein Beispiel für die Unterzeichenfolge" zu suchen. Wenn eine Teilzeichenfolge gefunden wird, wird eine Meldung mit der Position des ersten Vorkommens der Teilzeichenfolge angezeigt. Wenn keine Teilzeichenfolge gefunden wird, wird die Meldung "Teilzeichenfolge wurde nicht gefunden" angezeigt.

Suchen einer Teilzeichenfolge in VBA

In der Programmiersprache VBA (Visual Basic for Applications) gibt es eine InStr-Funktion, mit der Sie nach einer Teilzeichenfolge in einer Zeichenfolge suchen können. Die Suche nach einer Teilzeichenfolge kann in vielen Szenarien nützlich sein, z. B. um zu überprüfen, ob eine bestimmte Zeichenkette vorhanden ist oder um einen bestimmten Teil der Zeichen aus einer Zeichenfolge abzurufen.

Die InStr-Funktion akzeptiert zwei Argumente: die Zeichenfolge, in der nach einer Teilzeichenfolge gesucht wird, und die Teilzeichenfolge selbst. Gibt den Index des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge zurück. Wenn keine Teilzeichenfolge gefunden wird, gibt die Funktion Null zurück.

Die folgende Tabelle enthält Beispiele für die Verwendung der InStr-Funktion:

ZeileGesuchter TeilstringErgebnis
"Hallo, Welt!""Welt"9
"Visual Basic for Applications""Basic"7
"Hello, World!""foo"0

Um die InStr-Funktion in VBA zu verwenden, müssen Sie eine Variable deklarieren, in der das Ergebnis gespeichert wird, und die Funktion aufrufen, indem Sie eine Zeichenfolge und eine Teilzeichenfolge als Argumente an sie übergeben. Das Ergebnis ist eine positive Zahl (der Index des Vorkommens einer Teilzeichenfolge) oder eine Null (keine Teilzeichenfolge gefunden).

Beispiel für die Verwendung der InStr-Funktion in VBA:

Dim str As StringDim searchStr As StringDim result As Integerstr = "Привет, мир!"searchStr = "мир"result = InStr(str, searchStr)If result > 0 ThenMsgBox "Подстрока найдена в позиции " & resultElseMsgBox "Подстрока не найдена"End If

In diesem Beispiel sucht die InStr-Funktion nach der Teilzeichenfolge "Welt" in der Zeichenfolge "Hallo Welt!". Nach Ausführung der Funktion enthält die result-Variable den Wert 9, da die Teilzeichenfolge "Welt" mit dem 9. Zeichen in der Zeichenfolge beginnt.

Die Verwendung der InStr-Funktion in VBA ermöglicht eine effiziente und bequeme Suche nach einer Teilzeichenfolge in einer Zeichenfolge. Jetzt haben Sie ein grundlegendes Verständnis für die Funktionsweise der InStr-Funktion und können sie in Ihren VBA-Projekten verwenden.