VBA SubString - Hur extraherar jag substring med VBA-funktioner?

Innehållsförteckning

Excel VBA SubString

SubString är en del av strängen eller delen eller strängens karaktär heter "SubString". Det finns tre typer av understrängningsfunktioner i VBA VÄNSTER, HÖGER och MIDD de liknar kalkylbladets underlag i excel.

En sträng är inget annat än en serie tecken, och tecken kan vara alfabet, siffror, specialtecken och också kombinera alla dessa.

Ofta i Excel, när vi arbetar med data, som är strängen, behöver vi bara få den del av strängen som underlättar vårt syfte. Vi behöver kanske inte använda hela strängen, men vi behöver bara delen av strängen för vårt bruk. Om du till exempel har namnet "Sachin Tendulkar" kan du behöva bara den första delen av namnet, dvs bara "Sachin." Detta kallas som SubString av strängen i Excel VBA. För att hantera dessa strängar har vi inbyggda funktioner under TEXT-funktionen i excel-kategori.

I den här artikeln kommer vi att diskutera hur man får substring från hela strängen i VBA.

Hur använder jag SubString-funktioner i VBA?

För att extrahera strängen från strängen har vi några av de inbyggda textfunktionerna, och några av de viktiga funktionerna är VÄNSTER, HÖGER, INSTR och MID i excel. Funktionen Instr kommer att fungera som en stödfunktion för de andra tre funktionerna.

Vi kommer att se hur man använder dessa funktioner för att extrahera underlag praktiskt. Läs nedanstående exempel för att förstå dem.

Exempel # 1 - Användning av vänster funktion

Om du har det fullständiga namnet som “Sachin Tendulkar” och du bara behöver förnamnet extraheras som substring, använd följande kod för att få samma.

Steg 1: Skapa ett makronamn och definiera två variabler som sträng.

Koda:

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

Steg 2: Tilldela nu namnet “Sachin Tendulkar” till variabeln FullName .

Koda:

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

Steg 3: Nu innehåller variabeln FullName värdet "Sachin Tendulkar." Nu måste vi extrahera excel-VBA-strängning av förnamnet från hela namnet. Så tilldela värdet för variabeln FirstName via VÄNSTER-funktionen.

Koda:

Sub Substring_Example1 () Dim FullName Som String Dim FirstName Som String FullName = "Sachin Tendulkar" FirstName = Left (End Sub

Steg 4: VBA VÄNSTER funktion första argumentet är String; det är vad som är hela värdet eller hela strängen. I det här exemplet är vårt fulla värde eller sträng "Sachin Tendulkar", som tilldelas variabeln FullName.

Så leverera variabeln FullName som argument.

Koda:

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

Steg 5: Nästa argument är hur många tecken vi behöver från strängen vi har levererat, så i det här fallet behöver vi förnamnet " Sachin " så helt, vi behöver 6 tecken från vänster sida.

Koda:

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

Steg 6: Visa nu resultatet i en meddelandefält i VBA.

Koda:

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

Steg 7: Kör makrot, se förnamnet som en delsträng i meddelandefältet.

Exempel # 2 - Få SubString från höger

Precis som hur vi har extraherat substratet från vänster på samma sätt, kan vi också extrahera från höger. Ta samma namn som ett exempel.

Steg 1: Definiera två variabler som sträng.

Koda:

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

Steg 2: Tilldela som vanligt värdet till variabeln FullName som "Sachin Tendulkar."

Koda:

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

Steg 3: Tilldela nu värdet genom variabeln RIGHT excel för variabeln LastName .

Koda:

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

Steg 4: Sträng är vårt fullständiga namn,ange variabeln.

Koda:

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

Steg 5: Längd är hur många tecken vi behöver från höger sida. Vi behöver nio tecken på höger sida.

Koda:

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

Steg 6: Visa detta värde i meddelandefältet .

Koda:

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

Steg 7: Kör makrot. Vi kommer att se efternamnet i meddelandefältet.

Exempel # 3 - Använda instrumentfunktionen

I ovanstående exempel hade vi bara ett namn och vi har direkt angett hur många tecken vi behöver från vänster och höger. Men när det gäller många namn är förnamn och efternamn inte samma, det kommer att skilja sig från namn till namn. I sådana fall kan vi inte ange antalet tecken direkt så att vi kan använda funktionen Instr.

Instr- funktionen returnerar den medföljande karaktärspositionen i strängen. Titta till exempel på koden nedan.

Koda:

Sub Substring_Example3 () Dim position som strängposition = InStr (1, "Sachin", "a") MsgBox Position End Sub

InStr (1, "Sachin", "a"), kommer detta att identifiera positionen för bokstaven "a" som första uppträdande i strängen "Sachin." I det här fallet är "a" i andra position. Så vi får 2 som ett resultat i meddelandefältet.

Så här kan vi använda Instr- funktionen för att hitta mellanslagsteckenet mellan förnamn och efternamn.

Titta till exempel på namnet nedan i excel-arket.

Med VÄNSTER, HÖGER och Instr- funktionen kan vi extrahera underlag. Nedan är koden för att extrahera förnamnet.

Koda:

Under Förnamn () Dim K Så Lång Dim LR Så Lång LR = Celler (Rader. Antal, 1). Avsluta (xIUp). Rad För K = 2 Till LR-celler (K, 2). Värde = Vänster (Celler (K, 1) .Value, InStr (1, Cells (K, 1) .Value, "") - 1) Next K End Sub

Kör makrot och se förnamnet som ett underlag i meddelandefältet.

Använd koden nedan för att extrahera efternamnet som ett underlag.

Koda:

Under efternamn () Dim K Så lång Dim LR Så lång LR = Cells (Rader.Count, 1). End (xIUp). Rad för K = 2 till LR-celler (K, 3). Värde = Höger (Celler (K, 1) .Value, Len (Cells (K, 1)) - InStr (1, Cells (K, 1) .Value, "")) Nästa K End Sub

Kör makrot så ser vi efternamnet i meddelandefältet.

Jag har tilldelat makroknappen till kalkylbladet, laddat ner arbetsboken och använt dem.

Intressanta artiklar...