VBA InStrRev-Funktion

Das Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge zu kennen, kann bei der täglichen Arbeit mit Daten sehr hilfreich sein. Natürlich können wir es manuell machen, indem wir das Vorkommen der Zeichenkette in einer anderen Zeichenkette berechnen, aber das würde die Aufgabe sehr schwer machen. Um dies zu vereinfachen, haben wir in VBA eine Funktion namens INSTRREV, mit der das Vorkommen ermittelt wird.

Wie oben erläutert, wird INSTRREV in Excel VBA verwendet, um ein Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge zu finden. Diese Funktion findet das erste Vorkommen einer Zeichenfolge in der Zielzeichenfolge und gibt den Wert zurück. Jetzt müssen wir uns daran erinnern, dass der zurückgegebene Wert numerisch ist, da er das Vorkommen der Zeichenfolge angibt. Da es sich um eine Vergleichsfunktion handelt, gibt es wie bei anderen Funktionen in VBA drei grundlegende Vergleichsmethoden.

Syntax von InStrRev in Excel VBA

Die Syntax für die VBA InStrRev-Funktion in Excel lautet wie folgt:

Lassen Sie uns nun die Syntax aufschlüsseln und mehr darüber erfahren. String ist der Hauptstring, von dem aus wir das Vorkommen eines Teilstrings ermitteln möchten. Start ist das numerische Vorkommen, das wir dem String geben. Wenn kein Startparameter angegeben ist, beginnt die Funktion, eine Zeichenfolge am Ende der Zeichenfolge zu suchen. Und compare ist die Vergleichsmethode, die wir für die Funktion bereitstellen. Es gibt drei Arten von Vergleichen für diese Funktion:

  1. Verwenden der Option Compare (-1). Es wird auch als VbUseCompareOption bezeichnet.
  2. Verwenden von Binary Compare (0). Es wird auch als VbBinaryCompare bezeichnet.
  3. Verwenden von Text Compare (1). Es wird auch als VbTextCompare bezeichnet.

Wenn keine der Vergleichsoptionen verfügbar ist, betrachtet die Funktion den Vergleich automatisch als binären Vergleich.

Lassen Sie uns diese Funktion nun in einigen Beispielen verwenden und sehen, wie diese Funktion verwendet wird.

Wie benutze ich Excel VBA InStrRev?

Versuchen wir es nun mit einigen Beispielen für VBA InStrRev in Excel.

Sie können diese VBA InStrRev Excel-Vorlage hier herunterladen - VBA InStrRev Excel-Vorlage

Beispiel # 1 - VBA InStrRev

Nehmen wir als Beispiel, dass unsere Zeichenfolge "Ich bin ein guter Junge" ist und finden Sie das Vorkommen des Zeichens "", das Leerzeichen ist.

Schritt 1: Bevor wir nun zu VBA wechseln, aktivieren Sie zuerst VBA und wechseln dann zum Codeabschnitt im Entwicklerabschnitt, um auf Visual Basic zu klicken.

Schritt 2: Sobald wir den VB-Editor aufgerufen haben, den wir im Kopfbereich sehen, gibt es eine Einfügemöglichkeit. Fügen Sie ein neues Modul aus dieser Option ein, wie unten gezeigt.

Schritt 3: Beginnen wir nun unsere Unterprozedur im unten gezeigten Modul.

Code:

 Sub Sample () End Sub 

Schritt 4: Deklarieren Sie nun eine Variable als Ganzzahl, die den Ausgabewert der Funktion für uns enthält.

Code:

 Sub Sample () Dim A As Integer End Sub 

Schritt 5: Verwenden Sie nun in der Variablen die INSTRREV-Funktion, um das Vorkommen von „“ in der Zeichenfolge „Ich bin ein guter Junge“ wie folgt zu finden.

Code:

 Sub Sample () Dim A As Integer A = InStrRev ("Ich bin ein guter Junge", "") End Sub 

Schritt 6: Zeigen Sie nun den in Variable A gespeicherten Wert mit der Funktion msgbox an.

Code:

 Sub Sample () Dim A As Integer A = InStrRev ("Ich bin ein guter Junge", "") MsgBox A End Sub 

Schritt 7: Lassen Sie uns den obigen Code ausführen, um das folgende Ergebnis zu erhalten.

Wir erhalten das Ergebnis als 13, weil wir der Funktion keine Startposition zur Verfügung gestellt haben, sodass sie automatisch das Vorkommen vom Ende und damit das Ergebnis berechnet hat. Es wird festgestellt, dass sich „“ an der 13. Position der Zeichenkette befindet, wenn wir sie vom Ende her durchsuchen.

Beispiel # 2 - VBA InStrRev

Im obigen Beispiel haben wir der Zeichenfolge keine Startposition gegeben. Lassen Sie uns diese Zeit in diesem Beispiel angeben. Lassen Sie uns an der zweiten Stelle herausfinden, wo das „“ in der Zeichenkette vorkommt.

Schritt 1: Fügen Sie ein neues Modul aus dieser Option wie unten gezeigt ein.

Schritt 2: Definieren wir noch einmal eine Unterprozedur für unser zweites Beispiel.

Code:

 Sub Sample1 () End Sub 

Schritt 3: Deklarieren Sie eine andere Ganzzahlvariable für das Beispiel.

Code:

 Sub Sample1 () Dim A As Integer End Sub 

Schritt 4: Lassen Sie uns nun in Variable A das Auftreten des „“ von der zweiten Position mit der INSTRREV-Funktion wie folgt finden.

Code:

 Sub Sample1 () Dim A As Integer A = InStrRev ("Ich bin ein guter Junge", "", 2) End Sub 

Schritt 5: Verwenden Sie jetzt die msgbox-Funktion, um den in A gespeicherten Wert anzuzeigen.

Code:

 Sub Sample1 () Dim A As Integer A = InStrRev ("Ich bin ein guter Junge", "", 2) MsgBox A End Sub 

Schritt 6: Führen Sie nun den obigen Code aus, um das folgende Ergebnis zu ermitteln:

Wir bekommen 1 als Ergebnis, wenn wir 2 zählen, bekommen wir I und nach einer Position bekommen wir das Auftreten von „“.

Beispiel # 3 - VBA InStrRev

In diesem Beispiel verwenden wir die Vergleichsmethoden. Wir haben eine Zeichenfolge "India is the Best" und lassen uns die Zeichenfolge "E" sowohl mit Text- als auch mit binären Vergleichsmethoden finden.

Schritt 1: Schreiben Sie im selben Modul 1 eine weitere Unterprozedur, zum Beispiel 3.

Code:

 Sub Sample2 () End Sub 

Schritt 2: Definieren wir zwei Variablen als Ganzzahl, die den Wert für das Auftreten der Zeichenfolge E sowohl im Text- als auch im Binärvergleich enthalten.

Code:

 Sub Sample2 () Dim A, B As Integer End Sub 

Schritt 3: In Variable A verwenden wir die Funktion INSTRREV mit dem Textvergleich wie folgt.

Code:

 Sub Sample2 () Dim A, B As Integer A = InStrRev ("Indien ist das Beste", "E", vbTextCompare) End Sub 

Schritt 4: Zeigen Sie nun den in A gespeicherten Wert mit der Funktion msgbox an.

Code:

 Sub Sample2 () Dim A, B As Integer A = InStrRev ("Indien ist das Beste", "E", vbTextCompare) MsgBox A End Sub 

Schritt 5: In Variable B verwenden wir den Binärvergleich für dieselbe Zeichenfolge wie folgt.

Code:

 Sub Sample2 () Dim A, B As Integer A = InStrRev ("Indien ist das Beste", "E", vbTextCompare) MsgBox AB = InStrRev ("Indien ist das Beste", "E", vbBinaryCompare) MsgBox B End Sub 

Schritt 6: Führen Sie den obigen Code aus, um das erste in Variable A gespeicherte Ergebnis zu finden.

Schritt 7: Drücken Sie OK, um das in Variable B gespeicherte Ergebnis anzuzeigen.

Wir erhalten 0 als Ergebnis für den binären Vergleich, da in unserer Zeichenfolge "e" nicht "E" vorhanden ist. In binären Werten sind beide unterschiedlich. Wenn also kein Wert in der Zeichenfolge gefunden wird, erhalten wir ein Ergebnis von 0.

Dinge, an die man sich erinnern sollte

  • Der von dieser Funktion zurückgegebene Wert ist numerisch.
  • Wenn die Teilzeichenfolge nicht gefunden wird, ist der zurückgegebene Wert 0.
  • Startposition ist optional. Ist dies nicht der Fall, sucht die Funktion standardmäßig nach dem Vorkommen am Ende der Zeichenfolge.
  • Die Vergleichsmethoden sind ebenfalls optional.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA InStrRev. Hier diskutieren wir die Verwendung von Excel VBA InStrRev zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Arbeiten mit VBA Active Cell
  2. Zeile in VBA löschen
  3. Wie verwende ich Excel VBA Transpose?
  4. Wie 1004 Fehler mit VBA zu beheben

Kategorie: