Zum Hauptinhalt springen

INSTR-String-Funktionen in Excel VBA: Anwendungsbeispiele und Erläuterungen

InStr-Funktionen gehören zu den nützlichsten und am weitesten verbreiteten Funktionen in der Excel-Programmiersprache VBA. Sie ermöglichen es Ihnen, die Position des ersten Vorkommens einer Zeile oder eines Zeichens in einer anderen Zeile zu finden, was bei der Verarbeitung von Textdaten häufig erforderlich ist. Aufgrund ihrer Flexibilität und der Möglichkeit, verschiedene Suchparameter festzulegen, sind InStr-Funktionen zu einem festen Bestandteil vieler Skripts und Makros geworden.

Der Vorteil von InStr-Funktionen liegt in ihrer Benutzerfreundlichkeit. Sie nehmen zwei erforderliche Argumente an: die ursprüngliche Zeichenfolge und die zu suchende Zeichenfolge. Der Rückgabewert der Funktion ist eine Ganzzahl, die die Position des in der Zeichenfolge gefundenen Werts darstellt, oder 0, wenn kein Wert gefunden wird. Auf diese Weise können Sie effektiv überprüfen, ob bestimmte Zeichen oder Teilzeichenfolgen in den Textdaten vorhanden sind, und je nach den Suchergebnissen die gewünschten Aktionen ausführen.

Die InStr-Funktionen verfügen außerdem über zusätzliche Parameter, mit denen Sie die Suche anpassen können. Sie können beispielsweise die Startposition der Suche angeben, Groß- und Kleinschreibung ignorieren oder einen Vergleichstyp angeben. Dies ermöglicht eine genauere Definition von Suchbegriffen und macht InStr-Funktionen sehr flexibel zu verwenden.

Was ist eine InStr-Funktion in VBA Excel und wie verwende ich sie

Die InStr-Funktion in Excel VBA wird 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. Sie können die Funktion verwenden, um verschiedene Aufgaben zu lösen, z. B. nach einem bestimmten Wort im Text zu suchen, nach einem bestimmten Zeichen zu suchen und vieles mehr.

Die Syntax der InStr-Funktion lautet wie folgt:

  • InStr([erste Position], Suchzeichenfolge, Suchzeichenfolge, [gleichungstyp])
  • anfangsposition ist ein optionaler Parameter, der die Position angibt, an der die Suche nach einer Teilzeichenfolge in einer Zeichenfolge beginnen soll. Wenn Sie diesen Parameter nicht angeben, wird die Suche am Anfang der Zeichenfolge gestartet.
  • Suchzeichenfolge - Die Zeichenfolge, in der gesucht werden soll. Kann eine Variable, ein Literal oder ein Ausdruck sein.
  • Suchzeichenfolge - Die Zeichenfolge, die in Suchzeichenfolge gesucht werden soll. Kann eine Variable, ein Literal oder ein Ausdruck sein.
  • gleichungstyp - Ein optionaler Parameter, der den Typ des Zeichenfolgenvergleichs angibt. Wenn Sie diesen Parameter nicht angeben, wird ein Groß-/Kleinschreibung-basierter Vergleich verwendet.

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

Dim myString As StringDim searchString As StringDim position As IntegermyString = "Привет, мир!"searchString = "мир"position = InStr(myString, searchString)If position > 0 ThenMsgBox "Подстрока найдена на позиции " & positionElseMsgBox "Подстрока не найдена"End If

In diesem Beispiel sucht die InStr-Funktion nach der Teilzeichenfolge "Welt" in der Zeichenfolge "Hallo Welt!". 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.

Die InStr-Funktion ist sehr nützlich und leistungsstark, wenn Sie mit Text in VBA Excel arbeiten. Es macht es einfach, Aufgaben zu lösen, die nach einer Teilzeichenfolge in einer Zeichenfolge suchen und überprüfen. Sie müssen nur die Syntax und die Parameter der Funktion korrekt verwenden.

Beschreibung der InStr-Funktion

Die InStr-Funktion in Excel VBA wird verwendet, um nach einer Teilzeichenfolge in einer anderen Zeichenfolge zu suchen, und gibt die Position des ersten Zeichens der gefundenen Teilzeichenfolge zurück.

Syntax der InStr-Funktion:

ParameterDie Beschreibung
string1Verbindlich. Die Zeichenfolge, in der gesucht werden soll.
string2Verbindlich. Die zu suchende Teilzeichenfolge.
[start]Fakultativ. Die Position des Symbols, an dem die Suche gestartet werden soll. Wenn nicht angegeben, beginnt die Suche am Anfang von string1.
[compare]Fakultativ. Ein Parameter, der den Vergleichstyp angibt. Kann einen der Werte annehmen: vbBinaryCompare (Binärvergleich), vbTextCompare (Textvergleich). Der Standardwert ist vbBinaryCompare.

Wenn eine Teilzeichenfolge in einer Zeichenfolge gefunden wird, gibt die Funktion InStr die Zeichennummer (Position) zurück, an der die Teilzeichenfolge beginnt. Wenn keine Teilzeichenfolge gefunden wird, gibt die Funktion 0 zurück.

Beispiel für die Verwendung der InStr-Funktion:

Dim myString As String

Dim position As Integer

myString = "abc def ghi jkl"

position = InStr(myString, "def")

' Ergebnis: position = 5

position = InStr(myString, "xyz")

' Ergebnis: position = 0

Im ersten Beispiel findet die Funktion InStr die Teilzeichenfolge "def" in der Zeichenfolge "abc def ghi jkl" und gibt die Position zurück, an der die Teilzeichenfolge beginnt (5). Im zweiten Beispiel findet die Funktion den Teilstring "xyz" in der Zeichenfolge nicht und gibt 0 zurück.

InStr-Beispiele

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

    Beispiel 1 - Suchen einer Teilzeichenfolge in einer Zeichenfolge:

Dim mainString As StringDim searchString As StringDim result As IntegermainString = "Это пример строки, в которой нужно найти подстроку"searchString = "подстрока"result = InStr(mainString, searchString)If result > 0 ThenMsgBox "Подстрока найдена в позиции " & resultElseMsgBox "Подстрока не найдена"End If
Dim mainString As StringDim searchString As StringDim startPosition As IntegerDim result As IntegermainString = "Это пример строки, в которой нужно найти подстроку"searchString = "строки"startPosition = 15result = InStr(startPosition, mainString, searchString)If result > 0 ThenMsgBox "Подстрока найдена в позиции " & resultElseMsgBox "Подстрока не найдена"End If
Dim mainString As StringDim searchString As StringDim result As IntegermainString = "Это пример строки, в которой нужно найти подстроку"searchString = "пОдСтрока"result = InStr(1, mainString, searchString, vbTextCompare)If result > 0 ThenMsgBox "Подстрока найдена в позиции " & resultElseMsgBox "Подстрока не найдена"End If

Dies sind nur einige Beispiele für die Verwendung der InStr-Funktion. Sie können diese Funktion verwenden, um verschiedene Aufgaben im Zusammenhang mit dem Suchen und Arbeiten mit Zeichenfolgen in VBA Excel zu lösen.

Erläuterung der Funktion InStr

Die Syntax der InStr-Funktion lautet wie folgt:

InStr([начальная_позиция], строка, подстрока[, тип_сравнения])
  • anfangsposition - Ein optionaler Parameter, der angibt, an welcher Position in der Zeichenfolge nach einer Teilzeichenfolge gesucht werden soll. Wenn Sie diesen Parameter nicht angeben, beginnt die Suche mit dem ersten Zeichen der Zeichenfolge.
  • eine Zeichenfolge ist ein erforderlicher Parameter, in dem die Suche durchgeführt werden soll.
  • eine Teilzeichenfolge ist ein obligatorischer Parameter, der in einer Zeichenfolge gefunden werden muss.
  • gleichungstyp - Ein optionaler Parameter, der den Vergleichstyp für die Suche nach einer Teilzeichenfolge angibt. Kann 0, 1 oder 2 sein. Wenn Sie diesen Parameter nicht angeben, wird ein Binärvergleich verwendet.

Die Funktion InStr gibt eine ganze Zahl zurück, die die Position des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge darstellt. Wenn keine Teilzeichenfolge gefunden wird, gibt die Funktion 0 zurück.

Beispiel für die Verwendung der InStr-Funktion:

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

In diesem Beispiel sucht die InStr-Funktion nach der Teilzeichenfolge "string" in der Beispielzeichenfolge. Wenn eine Teilzeichenfolge gefunden wird, wird eine Meldung über ihre Position angezeigt, andernfalls wird eine Meldung angezeigt, dass die Teilzeichenfolge nicht gefunden wurde.