VBA SubString - Hvordan trekker du ut substring ved hjelp av VBA-funksjoner?

Innholdsfortegnelse

Excel VBA SubString

SubString er en del av strengen eller delen, eller karakteren til strengen kalles "SubString". Det er tre typer understrengingsfunksjoner i VBA VENSTRE, HØYRE og MIDD de ligner regnearkstrengene i Excel.

En streng er bare en serie tegn, og tegn kan være alfabet, tall, spesialtegn, og også kombinere alle disse.

Ofte i Excel, når vi jobber med data, som er strengen, trenger vi bare å få den delen av strengen for å lette vårt formål. Vi trenger kanskje ikke hele strengen som skal brukes, men vi trenger bare den delen av strengen som skal brukes. Hvis du for eksempel har navnet "Sachin Tendulkar", trenger du kanskje bare den første delen av navnet, dvs. bare "Sachin." Dette kalles som SubString av strengen i Excel VBA. For å håndtere disse strengene har vi innebygde funksjoner under TEXT-funksjonen i excel-kategori.

I denne artikkelen vil vi diskutere hvordan du får substring fra full streng i VBA.

Hvordan bruke SubString-funksjoner i VBA?

For å trekke ut substringen fra strengen har vi noen av de innebygde tekstfunksjonene, og noen av de viktige funksjonene er LEFT, RIGHT, INSTR og MID i excel. Funksjonen Instr vil fungere som en støttefunksjon for de tre andre funksjonene.

Vi vil se hvordan du bruker disse funksjonene til å trekke ut underlagene praktisk talt. Les eksemplene nedenfor for å forstå dem.

Eksempel 1 - Bruk av venstre funksjon

Hvis du har det fulle navnet "Sachin Tendulkar" og du bare trenger fornavnet som skal trekkes ut som understreng, bruker du følgende kode for å få det samme.

Trinn 1: Opprett et makronavn og definer to variabler som streng.

Kode:

Sub SubString_Example1 () Dim Fullnavn Som streng Dim FirstName Som streng End Sub

Trinn 2: Nå tilordner du navnet “Sachin Tendulkar” til variabelen FullName .

Kode:

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

Trinn 3: Nå inneholder variabelen FullName verdien av "Sachin Tendulkar." Nå må vi trekke ut Excel VBA-substring av fornavnet fra det fulle navnet. Så tilordne verdien for variabelen FirstName gjennom LEFT-funksjonen.

Kode:

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

Trinn 4: VBA VENSTRE funksjon første argument er String; det er det som er full verdi eller full streng. I dette eksemplet er vår fulle verdi eller streng "Sachin Tendulkar", som er tilordnet variabelen Fullnavn.

Så gi variabelen FullName som argument.

Kode:

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

Trinn 5: Det neste argumentet er hvor mange tegn vi trenger fra strengen vi har levert, så i dette tilfellet trenger vi fornavnet " Sachin " så totalt, vi trenger 6 tegn fra venstre side.

Kode:

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

Trinn 6: Vis nå resultatet i en meldingsboks i VBA.

Kode:

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

Trinn 7: Kjør makroen, se fornavnet som en understreng i meldingsboksen.

Eksempel 2 - Få SubString fra høyre

Som hvordan vi har ekstrahert substratet fra venstre på samme måte, kan vi også trekke ut fra høyre. Ta samme navn som et eksempel.

Trinn 1: Definer to variabler som streng.

Kode:

Sub Substreng_eksempel2 () Dim Fullnavn som streng Dim etternavn som streng slutt sub

Trinn 2: Tilordne verdien som vanlig til variabelen FullName som "Sachin Tendulkar."

Kode:

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

Trinn 3: Nå, for variabelen LastName, tilordne verdien gjennom RIGHT excel-funksjonen.

Kode:

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

Trinn 4: Streng er vårt fullnavn, så gi variabelen.

Kode:

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

Trinn 5: Lengde er hvor mange tegn vi trenger fra høyre side. Vi trenger 9 tegn på høyre side.

Kode:

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

Trinn 6: Vis denne verdien i meldingsboksen .

Kode:

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

Trinn 7: Kjør makroen. Vi ser etternavnet i meldingsboksen.

Eksempel 3 - Bruke Instr Funksjon

I eksemplene ovenfor hadde vi bare ett navn, og vi har direkte angitt hvor mange tegn vi trenger fra venstre og høyre. Men når det gjelder mange navn, er ikke fornavn og etternavn tegn det samme, det vil variere fra navn til navn. I slike tilfeller kan vi ikke angi antall tegn direkte, slik at vi kan bruke funksjonen Instr.

Instr- funksjonen returnerer den medfølgende tegnposisjonen i strengen. Se for eksempel på koden nedenfor.

Kode:

Sub Substring_Example3 () Dim posisjon som strengposisjon = InStr (1, "Sachin", "a") MsgBox Position End Sub

InStr (1, "Sachin", "a"), vil dette identifisere posisjonen til bokstaven "a" som første opptreden i strengen "Sachin." I dette tilfellet er “a” i andre posisjon. Så vi får 2 som et resultat i meldingsboksen.

Slik kan vi bruke Instr- funksjonen til å finne mellomromstegnet mellom fornavn og etternavn.

Se for eksempel på navnet nedenfor jeg har i excel-arket.

Ved å bruke funksjonen VENSTRE, HØYRE og Instr , kan vi trekke ut underlagene. Nedenfor er koden for å trekke ut fornavnet.

Kode:

Under fornavn () Dim K så lang Dim LR så lang LR = celler (rader.Tall, 1). End (xIUp). Rad for K = 2 til LR celler (K, 2). Verdi = venstre (celler (K, 1) .Value, InStr (1, Cells (K, 1) .Value, "") - 1) Next K End Sub

Kjør makroen og se fornavnet som en understreng i meldingsboksen.

Bruk koden nedenfor for å trekke ut etternavnet som understreng.

Kode:

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

Kjør makroen, så ser vi etternavnet i meldingsboksen.

Jeg har tilordnet makroknappen til regnearket, lastet ned arbeidsboken og brukt dem.

Interessante artikler...