VBA-SubString

Excel VBA SubString

SubString ist ein Teil der Zeichenfolge oder des Teils oder das Zeichen der Zeichenfolge wird als "SubString" bezeichnet. In VBA LEFT, RIGHT und MID gibt es drei Arten von Teilzeichenfolgenfunktionen, die den Arbeitsblatt-Teilzeichenfolgen in Excel ähnlich sind.

Eine Zeichenfolge ist nichts anderes als eine Reihe von Zeichen, und Zeichen können Alphabete, Zahlen und Sonderzeichen sein und all diese kombinieren.

Wenn wir in Excel mit Daten arbeiten, bei denen es sich um die Zeichenfolge handelt, müssen wir häufig nur den Teil der Zeichenfolge abrufen, um unseren Zweck zu vereinfachen. Möglicherweise benötigen wir nicht die vollständige Zeichenfolge, aber wir benötigen nur den Teil der Zeichenfolge für unsere Verwendung. Wenn Sie beispielsweise den Namen "Sachin Tendulkar" haben, benötigen Sie möglicherweise nur den ersten Teil des Namens, dh nur "Sachin". Dies wird in Excel VBA als SubString der Zeichenfolge bezeichnet. Um mit diesen Zeichenfolgen umzugehen, haben wir unter der TEXT-Funktion in der Excel-Kategorie integrierte Funktionen.

In diesem Artikel wird erläutert, wie Sie die Teilzeichenfolge aus der vollständigen Zeichenfolge in VBA abrufen.

Wie verwende ich SubString-Funktionen in VBA?

Um den Teilstring aus dem String zu extrahieren, haben wir einige der eingebauten Textfunktionen und einige der wichtigen Funktionen sind LEFT, RIGHT, INSTR und MID in Excel. Die Funktion Instr dient als unterstützende Funktion für die anderen drei Funktionen.

Wir werden sehen, wie diese Funktionen verwendet werden, um die Teilzeichenfolgen praktisch zu extrahieren. Lesen Sie die folgenden Beispiele, um sie zu verstehen.

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

Beispiel 1 - Verwenden der linken Funktion

Wenn Sie den vollständigen Namen "Sachin Tendulkar" haben und nur den Vornamen als Teilzeichenfolge extrahieren müssen, verwenden Sie den folgenden Code, um denselben zu erhalten.

Schritt 1: Erstellen Sie einen Makronamen und definieren Sie zwei Variablen als String.

Code:

 Sub SubString_Example1 () Dim FullName als String Dim FirstName als String End Sub 

Schritt 2: Weisen Sie nun der Variablen FullName den Namen „Sachin Tendulkar“ zu .

Code:

 Sub SubString_Example1 () Dim FullName als String Dim FirstName als String FullName = "Sachin Tendulkar" End Sub 

Schritt 3: Jetzt enthält die Variable FullName den Wert von "Sachin Tendulkar". Jetzt müssen wir den Excel-VBA-Teilstring des Vornamens aus dem vollständigen Namen extrahieren. Weisen Sie also den Wert für die Variable Vorname über die Funktion LINKS zu .

Code:

 Sub SubString_Example1 () Dim FullName als String Dim FirstName als String FullName = "Sachin Tendulkar" FirstName = Left (End Sub 

Schritt 4: Das erste Argument der VBA LEFT-Funktion ist String. Dies ist der vollständige Wert oder die vollständige Zeichenfolge. In diesem Beispiel lautet unser vollständiger Wert oder String "Sachin Tendulkar", der der Variablen " FullName " zugewiesen ist .

Geben Sie also die Variable FullName als Argument an.

Code:

 Sub SubString_Example1 () Dim FullName als String Dim FirstName als String FullName = "Sachin Tendulkar" FirstName = Left End Sub 

Schritt 5: Das nächste  Argument ist, wie viele Zeichen wir aus der von uns angegebenen Zeichenfolge benötigen. In diesem Fall benötigen wir also den Vornamen „ Sachin “, sodass wir insgesamt 6 Zeichen von der linken Seite benötigen .

Code:

 Sub SubString_Example1 () Dim FullName als String Dim FirstName als String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub 

Schritt 6: Zeigen Sie nun das Ergebnis in einem Meldungsfeld in VBA an.

Code:

 Sub SubString_Example1 () Dim FullName als String Dim FirstName als String FullName = "Sachin Tendulkar" Vorname = Left (FullName, 6) MsgBox FirstName End Sub 

Schritt 7: Führen Sie das Makro aus. Sehen Sie sich den Vornamen als Teilzeichenfolge im Meldungsfeld an.

Beispiel 2 - SubString von rechts abrufen

So wie wir den Teilstring von links extrahiert haben, können wir auch von rechts extrahieren. Nehmen Sie den gleichen Namen als Beispiel.

Schritt 1: Definieren Sie zwei Variablen als String.

Code:

 Sub SubString_Example2 () Dim FullName als String Dim LastName als String End Sub 

Schritt 2: Weisen Sie der Variablen FullName wie gewohnt den Wert "Sachin Tendulkar" zu.

Code:

 Sub SubString_Example2 () Dim FullName als String Dim LastName als String FullName = "Sachin Tendulkar" End Sub 

Schritt 3: Weisen Sie nun für die Variable Nachname den Wert über die RICHTIGE Excel-Funktion zu.

Code:

 Sub SubString_Example2 () Dim FullName als String Dim LastName als String FullName = "Sachin Tendulkar" LastName = Right (End Sub 

Schritt 4: String ist unser FullName, geben Sie also die Variable an.

Code:

 Sub SubString_Example2 () Dim FullName als String Dim LastName als String FullName = "Sachin Tendulkar" LastName = Right (FullName, End Sub 

Schritt 5: Die Länge gibt an, wie viele Zeichen wir von der rechten Seite benötigen. Wir benötigen 9 Zeichen von der rechten Seite.

Code:

 Sub SubString_Example2 () Dim FullName als String Dim LastName als String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) End Sub 

Schritt 6: Zeigen Sie diesen Wert im Meldungsfeld an .

Code:

 Sub SubString_Example2 () Dim FullName als String Dim LastName als String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) MsgBox LastName End Sub 

Schritt 7: Führen Sie das Makro aus. Der Meldungsname wird im Meldungsfeld angezeigt.

Beispiel 3 - Verwenden der Instr-Funktion

In den obigen Beispielen hatten wir nur einen Namen und haben direkt angegeben, wie viele Zeichen wir von links und rechts benötigen. Wenn jedoch viele Vor- und Nachnamen nicht identisch sind, unterscheiden sich die Namen von Name zu Name. In diesen Fällen können wir die Anzahl der Zeichen nicht direkt angeben, sodass wir die Funktion Instr verwenden können.

Die Instr- Funktion gibt die angegebene Zeichenposition in der Zeichenfolge zurück. Ein Beispiel finden Sie im folgenden Code.

Code:

 Sub SubString_Example3 () Dim Position As String Position = InStr (1, "Sachin", "a") MsgBox Position End Sub 

InStr(1, “Sachin”, “a”) this will identify the position of the letter “a” as the first appearance in the string “Sachin”. In this case letter “a” is in the second position. So we will get 2 as the result in the message box.

Like this, we can use the Instr function to find the space character between the first name and last name.

For an example look at the below name I have in excel sheet.

Using LEFT, RIGHT, and Instr function we can extract the substrings. Below is the code to extract the First Name.

Code:

 Sub FirstName() Dim K As Long Dim LR As Long LR = Cells(Rows.Count, 1).End(xIUp).Row For K = 2 To LR Cells(K, 2).Value = Left(Cells(K, 1).Value, InStr(1, Cells(K, 1).Value, "") - 1) Next K End Sub 

Run the macro and see the first name as a substring in the message box.

Use below code to extract the last name as a substring.

Code:

 Sub LastName() Dim K As Long Dim LR As Long LR = Cells(Rows.Count, 1).End(xIUp).Row For K = 2 To LR Cells(K, 3).Value = Right(Cells(K, 1).Value, Len(Cells(K, 1)) - InStr(1, Cells(K, 1).Value, "")) Next K End Sub 

Run the macro and we will see the last name in the message box.

I have assigned the macro button to the worksheet, download the workbook, and use them.