VBA SubString - Wie extrahiere ich Teilzeichenfolgen mit VBA-Funktionen?

Inhaltsverzeichnis

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 umgehen zu können, 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 die Teilzeichenfolge aus der Zeichenfolge zu extrahieren, verfügen wir über einige der integrierten 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.

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 "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. Das ist der volle Wert oder die volle 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 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 = Links (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 auf ähnliche Weise 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

Step 5: Length is how many characters we need from the right side. We need 9 characters on the right side.

Code:

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

Step 6: Show this value in the message box.

Code:

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

Step 7: Run the macro. We will see the last name in the message box.

Example #3 - Using Instr Function

In the above examples, we had only one name, and we have directly supplied how many characters we need from the left & right. But in the case of many names, first name & last name characters are not the same, it will differ from name to name. In those cases, we cannot supply the number of characters directly so we can use the function Instr.

Instr function will return the supplied character position in the string. For example, look at the below 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 a 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 example, look at the below name I have in the 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 = Zellen (Rows.Count, 1) .End (xIUp) .Row For K = 2 To LR Cells (K, 2) .Value = Left (Cells (K, 1) .Wert, InStr (1, Zellen (K, 1) .Wert, "") - 1) Weiter K End Sub

Führen Sie das Makro aus und sehen Sie den Vornamen als Teilzeichenfolge im Meldungsfeld.

Verwenden Sie den folgenden Code, um den Nachnamen als Teilzeichenfolge zu extrahieren.

Code:

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

Führen Sie das Makro aus, und der Meldungsname wird im Meldungsfeld angezeigt.

Ich habe die Makroschaltfläche dem Arbeitsblatt zugewiesen, die Arbeitsmappe heruntergeladen und sie verwendet.

Interessante Beiträge...