Excel VBA SubString
Excel VBA SubString ist eine sehr nützliche Art von Funktion in VBA, die verwendet wird, um Daten in Form einer Zeichenkette zu zerschneiden. Aber in Arbeitsblatt-Funktionen, haben wir drei Teilstring-Funktionen, die links-rechts und Mitte-Funktion sind, während in VBA haben wir links-rechts Mitte und Split-Funktionen als Teilstring-Funktionen. Wie der Name schon andeutet, unterteilt die Substring-Funktion in VBA eine Zeichenkette in mehrere Unterzeichenketten. Auch in VBA gibt es, wie oben erklärt, mehrere VBA-Substring-Funktionen. In diesem Artikel werden wir lernen, wie man diese Substring-Funktionen separat mit Beispielen verwendet. Bevor wir mit den Beispielen weitermachen, wollen wir zuerst die Syntax dieser Funktionen lernen und welches Argument diese Funktionen als Eingabe benötigen.
Syntax von Excel VBA SubString
Nachfolgend sind die verschiedenen Syntaxen aufgeführt:
Schauen Sie sich unsere Demo-Kurse und Videos an
Bewertung, Hadoop, Excel, Mobile Apps, Web-Entwicklung & und vieles mehr.
Syntax der Left SubString Funktion:
Text string ist die Zeichenkette, die wir als Eingabe bereitstellen, während die Länge die Anzahl der Zeichen ist, die wir von der Eingabezeichenkette wollen.
Beispiel: Wenn wir eine Zeichenkette als ANAND haben und AN als Teilzeichenfolge wünschen, lautet der Code
Links („ANAND“,2)
Syntax der Right SubString Funktion:
Text string ist die Zeichenkette, die wir als Eingabe bereitstellen, während die Länge die Anzahl der Zeichen ist, die wir von der Eingabezeichenkette wünschen.
Beispiel: Wenn wir eine Zeichenkette als ANAND haben und den gleichen Code wie oben verwenden, wird das Ergebnis sein
Right („ANAND“,2)
Das ergibt ND als Ergebnis.
Syntax der Mid SubString Funktion in VBA:
Text string ist die Zeichenkette, die wir als Eingabe bereitstellen und Startposition ist die Position, an der das Zeichen für die Extraktion beginnen soll, während die Länge die Anzahl der Zeichen ist, die wir aus der Eingabezeichenkette haben wollen.
Beispiel: Wir haben eine Zeichenkette als COMPUTER und wir wollen PUT als Teilzeichenfolge, dann wird der Code wie folgt aussehen:
MID („COMPUTER“,4,3)
Syntax der Split SubString Funktion:
- Expression As String: Dies ist ein obligatorisches Argument in der SPLIT-Funktion. Es ist im Grunde die Eingabezeichenkette, die wir bereitstellen.
- Begrenzungszeichen: Dies ist ein optionales Argument. Es ist das spezifische Trennzeichen, das die Zeichenkette unterteilt, aber standardmäßig wird das Leerzeichen als Standardtrennzeichen betrachtet.
- Limit: Dies ist ebenfalls ein optionales Argument. Limit bedeutet die maximale Anzahl der Teile, die wir aus einer Zeichenkette machen wollen. Aber auch hier gilt, wenn wir der Funktion kein Limit angeben, behandelt VBA es als Standardwert -1, was bedeutet, dass die Zeichenkette jedes Mal auseinandergebrochen wird, wenn ein Trennzeichen in der Zeichenkette vorhanden ist.
- Vergleichen: Dieses letzte Argument ist ebenfalls ein optionales Argument. Compare ist eine Vergleichsmethode, die eine der beiden folgenden ist:
- Etweder ist es 0, was bedeutet, dass SPLIT einen binären Vergleich durchführt, was bedeutet, dass jedes Zeichen mit sich selbst übereinstimmen sollte.
- Oder es kann 1 sein, was bedeutet, dass die SPLIT-Funktion einen textuellen Vergleich durchführt.
Die Split-Funktion ist die kniffligste und nützlichste unter allen obigen Teilzeichenfolgenfunktionen. Alle anderen drei Teilzeichenfolgen-Funktionen verwenden eine Zeichenkette als Eingabe, während die Split-Funktion ein Array von Zeichenketten verwendet.
Wenn ich zum Beispiel schreibe, dass Split(„I AM A GOOD BOY“) die Zeichenkette separat aufteilt (jedes Wort als einzelnes). Lassen Sie uns nun diese Teilzeichenfolgen-Funktionen in Beispielen verwenden.
Wie verwendet man Teilzeichenfolgen-Funktionen in VBA?
Wir werden lernen, wie man die SubString-Funktion in Excel mit Hilfe des VBA-Codes verwendet.
Beispiel #1
Linke Substring-Funktion in VBA. Lassen Sie uns die erste Teilstring-Funktion in VBA verwenden. Gehen Sie dazu wie folgt vor:
Schritt 1: Gehen Sie zur Registerkarte des Entwicklers und klicken Sie auf Visual Basic, um den VB-Editor zu öffnen.
Schritt 2: Fügen Sie ein neues Modul im Visual Basic Editor (VBE) ein. Klicken Sie auf die Registerkarte Einfügen > Wählen Sie Modul.
Schritt 3: Deklarieren Sie eine Unterfunktion, um den Code zu schreiben.
Code:
Sub Sample()End Sub
Schritt 4: Deklariere zwei Zeichenketten, eine, um Eingaben vom Benutzer entgegenzunehmen und eine andere, um den Wert des Ergebnisses zu speichern.
Code:
Sub Sample()Dim A, B As StringEnd Sub
Schritt 5: Nimm die Eingaben des Benutzers für die Eingabezeichenfolge mit Hilfe der Eingabefeldfunktion entgegen.
Code:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Schritt 6: In Variable B den Wert aus der linken Funktion bis zur dritten Stelle speichern.
Code:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub
Schritt 7: Benutze die Funktion Msgbox, um das Endergebnis anzuzeigen.
Code:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub
Schritt 8: Führen Sie nun den obigen Code aus, indem Sie die Taste F5 drücken. und schreiben Sie den eingegebenen String als ANAND.
Schritt 9: Wenn wir OK drücken, sehen wir das Ergebnis der linken Substring-Funktion.
ANA ist die drei Zeichen von links der Zeichenfolge.
Beispiel #2
RIGHT Substring-Funktion in VBA. Befolgen Sie dazu die folgenden Schritte:
Schritt 1: Deklarieren Sie im selben Modul eine weitere Unterfunktion, um den Code für die rechte Substring-Funktion zu schreiben.
Code:
Sub Rightsub()End Sub
Schritt 2: Deklarieren Sie zwei Variablen A und B als String.
Code:
Sub Rightsub()Dim A, B As StringEnd Sub
Schritt 3: Nimm die Eingabe vom Benutzer und speichere den Wert in der Variablen A.
Code:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Schritt 4: Verwende die Funktion Rechts auf die Zeichenkette an der dritten Stelle und speichere den Wert in der Variablen B.
Code:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub
Schritt 5: Verwenden Sie die Funktion Msgbox, um den Wert von B anzuzeigen.
Code:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub
Schritt 6: Führen Sie den Code aus und geben Sie den Eingangsstring als „MOTHER“ ein.
Schritt 7: Drücken Sie OK, um das Ergebnis zu sehen.
HER ist die drei Zeichen von rechts der Zeichenkette.
Beispiel #3
MID Substring Funktion in VBA. Befolgen Sie dazu die folgenden Schritte:
Schritt 1: Deklarieren Sie im selben Modul eine weitere Unterfunktion, um mit dem Schreiben des Codes für die Mid-Funktion zu beginnen.
Code:
Sub MIDsub()End Sub
Schritt 2: Deklarieren Sie zwei Variablen A und B als String.
Code:
Sub MIDsub()Dim A, B As StringEnd Sub
Schritt 3: Nimm die Eingabe des Benutzers entgegen und speichere den Wert in Variable A.
Code:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Schritt 4: Benutze die Funktion Mid mit der Startposition 4 und der Länge 3 speichert den Wert in B und zeigt ihn mit der Funktion Msgbox an.
Code:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub
Schritt 5: Führe den obigen Code aus und gib COMPUTER als Eingabe ein.
Schritt 6: Drücke OK, um das Endergebnis zu sehen.
Die Teilzeichenkette PUT beginnt an der vierten Position und wir haben erfolgreich drei Zeichen extrahiert.
Beispiel #4
VBA Split SubString Function. Befolgen Sie dazu die folgenden Schritte:
Schritt 1: Deklarieren Sie im selben Modul eine Unterfunktion, um mit dem Schreiben des Codes für die Unterfunktion zu beginnen.
Code:
Sub SplitSub()End Sub
Schritt 2: Deklarieren Sie zwei Variablen A als String und B als String-Array und nehmen Sie die Eingabezeichenfolge vom Benutzer und speichern Sie sie in Variable A.
Code:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub
Schritt 3: Benutze die Split SubString Funktion und speichere ihren Wert in Variable B.
Code:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub
Schritt 4: Verwenden Sie die For-Schleife, um jeden SubString in einer einzigen Zeile anzuzeigen.
Code:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub
Schritt 5: Führe den obigen Code aus und gib I,AM,GOOD,BOY als Eingabe ein.
Schritt 6: Drücken Sie OK, um das Ergebnis zu sehen.
Wir haben im obigen Beispiel „,“ als Trennzeichen verwendet.
Schlussfolgerung
Wie die Arbeitsblatt-Teilstringfunktionen hat auch VBA Teilstringfunktionen. Diese sind Left Right Mid und Split Functions. Grundsätzlich teilen Substring-Funktionen eine Zeichenkette oder ein Array von Zeichenketten in mehrere Teilzeichenketten auf. Wenn wir eine Teilzeichenkette von der linken Seite der Zeichenkette wünschen, verwenden wir die Funktion Links oder im umgekehrten Fall Rechts. Wenn wir ein mittleres Zeichen einer gegebenen Zeichenkette wünschen, verwenden wir die MID-Funktionen. Auch wenn wir ein Array von Strings haben, verwenden wir Split-Funktionen.
Zu beachtende Dinge
Es gibt ein paar Dinge, die wir uns über die Substring-Funktionen in VBA merken müssen:
- Es ist ähnlich wie die Arbeitsblatt-Substring-Funktionen.
- Substring-Funktionen teilen eine gegebene Zeichenkette in Teilzeichenketten auf.
- Wenn wir ein Array von Zeichenketten haben, verwenden wir Split-Funktionen.
- Nur die Eingabezeichenkette in der Split-Funktion ist obligatorisch, während die anderen optional sind.
Empfohlene Artikel
Dies ist ein Leitfaden für die VBA SubString. Hier besprechen wir, wie man die SubString-Funktion in Excel VBA zusammen mit praktischen Beispielen und herunterladbaren Excel-Vorlagen verwendet. Sie können auch unsere anderen vorgeschlagenen Artikel durchgehen –
- VBA SendKeys
- VBA On Error Goto
- VBA Input
- VBA LBound