VBA SubString

Excel VBA SubString

SubString is een onderdeel van de string of het gedeelte of het karakter van de string wordt "SubString" genoemd. Er zijn drie soorten subtekenreeksen in VBA LINKS, RECHTS en MID, ze zijn vergelijkbaar met de werkbladsubstrings in Excel.

Een tekenreeks is niets anders dan een reeks tekens en tekens kunnen alfabetten, cijfers, speciale tekens zijn en deze ook allemaal combineren.

Vaak in Excel wanneer we met gegevens werken, wat de string is die we nodig hebben om alleen het gedeelte van de string te krijgen om ons doel te vergemakkelijken. We hebben misschien niet de volledige string nodig om te gebruiken, maar we hebben alleen het deel van de string nodig voor ons gebruik. Als u bijvoorbeeld de naam "Sachin Tendulkar" hebt, heeft u mogelijk alleen het eerste deel van de naam nodig, dwz alleen "Sachin". Dit wordt genoemd als SubString van de string in Excel VBA. Om met deze strings om te gaan, hebben we ingebouwde functies onder TEXT-functie in Excel-categorie.

In dit artikel zullen we bespreken hoe u de substring uit de volledige string in VBA kunt halen.

Hoe SubString-functies in VBA te gebruiken?

Om de substring uit de string te halen, hebben we enkele van de ingebouwde tekstfuncties en enkele van de belangrijke functies zijn LEFT, RIGHT, INSTR en MID in Excel. De functie Instr zal dienen als ondersteunende functie voor de andere drie functies.

We zullen zien hoe we deze functies kunnen gebruiken om de substrings praktisch te extraheren. Lees de onderstaande voorbeelden om ze te begrijpen.

U kunt deze VBA SubString Excel-sjabloon hier downloaden - VBA SubString Excel-sjabloon

Voorbeeld # 1 - Linkerfunctie gebruiken

Als je de volledige naam hebt als "Sachin Tendulkar" en je hebt alleen de voornaam nodig om als substring te worden geëxtraheerd, gebruik dan de volgende code om dezelfde te krijgen.

Stap 1: Maak een macronaam en definieer twee variabelen als String.

Code:

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

Stap 2: Wijs nu de naam "Sachin Tendulkar" toe aan de variabele FullName .

Code:

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

Stap 3: Nu bevat de variabele FullName de waarde van "Sachin Tendulkar". Nu moeten we de Excel VBA-substring van de voornaam uit de volledige naam halen. Wijs dus de waarde toe aan de variabele FirstName tot en met de LEFT-functie.

Code:

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

Stap 4: VBA LEFT-functie eerste argument is String, dat is wat de volledige waarde of volledige string is. In dit voorbeeld is onze volledige waarde of string "Sachin Tendulkar" die is toegewezen aan de variabele FullName.

Geef dus variabele FullName op als het argument.

Code:

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

Stap 5: Het volgende  argument is hoeveel tekens we nodig hebben van de string die we hebben opgegeven, dus in dit geval hebben we de voornaam " Sachin " nodig, dus in totaal hebben we 6 tekens vanaf de linkerkant nodig.

Code:

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

Stap 6: Toon nu het resultaat in een berichtvenster in VBA.

Code:

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

Stap 7: Voer de macro uit en zie de voornaam als substring in het berichtvenster.

Voorbeeld # 2 - Get SubString van rechts

Zoals hoe we de subtekenreeks van links hebben geëxtraheerd, kunnen we ook van rechts extraheren. Neem dezelfde naam als voorbeeld.

Stap 1: definieer twee variabelen als String.

Code:

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

Stap 2: Wijs zoals gewoonlijk de waarde aan de variabele FullName toe als 'Sachin Tendulkar'

Code:

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

Stap 3: Wijs nu voor de variabele LastName de waarde toe via de RIGHT Excel-functie.

Code:

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

Stap 4: String is onze FullName, dus geef de variabele op.

Code:

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

Stap 5: Lengte is het aantal tekens dat we aan de rechterkant nodig hebben, we hebben 9 tekens aan de rechterkant nodig.

Code:

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

Stap 6: toon deze waarde in het berichtvenster .

Code:

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

Stap 7: Voer de macro uit, we zien de achternaam in het berichtvenster.

Voorbeeld # 3 - Instr-functie gebruiken

In de bovenstaande voorbeelden hadden we maar één naam en hebben we direct aangegeven hoeveel karakters we nodig hebben van links en rechts. Maar in het geval van veel namen zijn voornaam en achternaam tekens niet hetzelfde, het zal van naam tot naam verschillen. In die gevallen kunnen we het aantal karakters niet direct opgeven en kunnen we de functie Instr gebruiken.

Instr- functie retourneert de opgegeven tekenpositie in de tekenreeks. Kijk voor een voorbeeld naar de onderstaande 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.