VBA Right Funktion

Richtige Funktion in VBA Excel

Die rechte Funktion ist dieselbe wie in der Arbeitsblattfunktion und in VBA. Diese Funktion verwendet die Teilzeichenfolge einer bestimmten Zeichenfolge, die Suche erfolgt jedoch von rechts nach links von der Zeichenfolge. Dies ist eine Art Zeichenfolgenfunktion in VBA Wird mit der Funktionsmethode application.worksheet verwendet.

RECHTS Funktion in Excel VBA, mit der Zeichen von der rechten Seite der angegebenen Textwerte extrahiert werden. In Excel haben wir viele Textfunktionen, um mit textbasierten Daten umzugehen. Einige der nützlichen Funktionen sind LEN, LEFT, RIGHT, MID, um Zeichen aus den Textwerten zu extrahieren. Das häufigste Beispiel für die Verwendung dieser Funktionen ist das Extrahieren des Vor- und Nachnamens getrennt vom vollständigen Namen.

Die RECHTE Formel befindet sich auch im Arbeitsblatt. In VBA müssen wir uns auf die Arbeitsblatt-Funktionsklasse verlassen, um auf die VBA RIGHT-Funktion zugreifen zu können. Stattdessen haben wir auch die integrierte RIGHT-Funktion in VBA.

Schauen Sie sich nun die folgende Syntax der VBA RIGHT-Formel an.

  • Zeichenfolge: Dies ist unser Wert. Aus diesem Wert versuchen wir, die Zeichen von der rechten Seite der Zeichenfolge zu extrahieren.
  • Länge: von der mitgelieferten String , wie viele Charaktere , die wir brauchen. Wenn wir vier Zeichen von der rechten Seite benötigen, können wir das Argument als 4 angeben.

Wenn die Zeichenfolge beispielsweise "Mobiltelefon" lautet und wir nur das Wort "Telefon" extrahieren möchten, können wir das folgende Argument angeben.

RECHTS ("Handy", 5)

Der Grund, warum ich 5 erwähnt habe, weil das Wort "Telefon" 5 Buchstaben enthält. Im nächsten Abschnitt des Artikels werden wir sehen, wie wir es in VBA verwenden können.

Beispiele für die Excel VBA Right-Funktion

Im Folgenden finden Sie Beispiele für Right Function VBA Excel.

Sie können diese VBA Right Function Excel-Vorlage hier herunterladen - VBA Right Function Excel-Vorlage

Beispiel 1

Ich werde Ihnen ein einfaches Beispiel zeigen, um das Verfahren zu starten. Angenommen, Sie haben die Zeichenfolge "New York" und wenn Sie 3 Zeichen von rechts extrahieren möchten, führen Sie die folgenden Schritte aus, um den Code zu schreiben.

Schritt 1: Deklarieren Sie die Variable als VBA-String.

Code:

 Sub Right_Example1 () Dim k As String End Sub 

Schritt 2: Für diese Variable weisen wir den Wert durch Anwenden der RECHTS-Funktion zu.

Code:

 Sub Right_Example1 () Dim k As String k = Right (End Sub 

Schritt 3: Das erste  Argument ist String und unser String für dieses Beispiel ist "New York".

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", End Sub 

Schritt 4: Als nächstes sehen Sie, wie viele Zeichen wir aus der angegebenen Zeichenfolge benötigen. In diesem Beispiel benötigen wir 3 Zeichen.

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) End Sub 

Schritt 5: Wir müssen uns mit zwei Argumenten befassen, also sind wir fertig. Weisen Sie nun den Wert dieser Variablen im Meldungsfeld in VBA zu.

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) MsgBox k End Sub 

Führen Sie den Code mit der Taste F5 oder manuell aus und sehen Sie das Ergebnis in einem Meldungsfeld.

Im Wort "New York" auf der rechten Seite sind 3 Zeichen "Ork".

Jetzt werde ich die Länge von 3 auf 4 ändern, um den vollen Wert zu erhalten.

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub 

Führen Sie diesen Code manuell oder mit der Taste F5 aus. Dann erhalten Sie "York".

Beispiel 2

Schauen Sie sich nun ein weiteres Beispiel an. Betrachten Sie diesmal den Zeichenfolgenwert als „Michael Clarke“.

Wenn Sie die Länge als 6 angeben, erhalten wir als Ergebnis "Clarke".

Code:

 Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub 

Führen Sie diesen Code mit der Taste F5 oder manuell aus, um das Ergebnis anzuzeigen.

Dynamische Rechtsfunktion in Excel VBA

Wenn Sie unsere beiden vorherigen Beispiele beachten, haben wir die Längenargumentnummern manuell angegeben. Dies ist jedoch nicht der richtige Prozess, um die Arbeit zu erledigen.

In jeder der Zeichenfolgen sind die Zeichen auf der rechten Seite jeweils unterschiedlich. Wir können die Länge der Zeichen nicht manuell für jeden Wert unterschiedlich angeben. Hier spielt die andere String-Funktion „Instr“ eine entscheidende Rolle.

Die Instr- Funktion gibt die angegebene Zeichenposition im angegebenen Zeichenfolgenwert zurück. Zum Beispiel gibt Instr (1, "Bangalore", "a") die Position des Buchstabens "a" in der Zeichenfolge "Bangalore" vom ersten (1) Zeichen zurück.

In diesem Fall ist das Ergebnis 2, da ab der ersten Zeichenposition des Buchstabens „a“ die zweite Position ist.

Wenn ich die Startposition von 1 auf 3 ändere, wird 5 zurückgegeben.

Instr (3, "Bangalore", "a") .

The reason why it returns 5 because I mentioned the starting position to look for the letter “a” only from the 3rd letter. So the position of the second appeared “a” is 5.

So, to find the space character of the of each string we can use this. Once we find the space character position we need to minus that from a total length of the string by using LEN.

For example in the string “New York” the total number of characters is 8 including space, and the position of the space character is 4th. So 8-4 = 4 right will extract 4 characters from the right.

Now, look at the below code for your reference.

Code:

 Sub Right_Example3() Dim k As String Dim L As String Dim S As String L = Len("Michael Clarke") S = InStr(1, "Michael Clarke", " ") k = Right("Michael Clarke", L - S) MsgBox k End Sub 

In the above code variable “L” will return 14 and variable “S” will return 8.

In the VBA right formula, I have applied L – S i.e. 14-8 = 6. So from right side 6 characters i.e. “Clarke”.

Loops with Right Function in Excel VBA

When we need to apply the VBA RIGHT function with many cells we need to include this inside the loops. For example, look at the below image.

We cannot apply many lines of the code to extract a string from the right side. So we need to include loops. The below code will do it for the above data.

Code:

 Sub Right_Example4() Dim k As String Dim L As String Dim S As String Dim a As Integer For a = 2 To 5 L = Len(Cells(a, 1).Value) S = InStr(1, Cells(a, 1).Value, " ") Cells(a, 2).Value = Right(Cells(a, 1), L - S) Next a End Sub 

The result of this code is as follows.