VBA alamstring - Kuidas eraldada alamstringi VBA funktsioonide abil?

Lang L: none (table-of-contents)

Exceli VBA alamstring

SubString on stringi või osa osa või stringi märki nimetatakse “SubString”. VBA LEFT, RIGHT ja MID on kolme alamfunktsiooni tüüpi, mis on sarnased Exceli töölehe alamstringidega.

String pole midagi muud kui tähemärkide sari ja tähemärgid võivad olla tähestikud, numbrid, erimärgid ja ka kõik need ühendada.

Sageli peame Excelis töötades andmetega, mis on string, oma eesmärgi hõlbustamiseks saama ainult stringi osa. Me ei pruugi vajada kogu stringi kasutamist, kuid vajame oma kasutamiseks ainult stringi osa. Näiteks kui teil on nimi „Sachin Tendulkar”, võib teil vaja minna ainult nime esimest osa, st ainult „Sachin”. Seda nimetatakse Exceli VBA-s stringi alamstringiks. Nende stringidega tegelemiseks on meil Exceli kategoorias funktsiooni TEXT sisseehitatud funktsioonid.

Selles artiklis arutleme, kuidas saada alamstring VBA täisstringist.

Kuidas kasutada SubStringi funktsioone VBA-s?

Alamstringi stringist väljavõtmiseks on meil mõned sisseehitatud tekstifunktsioonid ja mõned olulised funktsioonid on Excelis LEFT, RIGHT, INSTR ja MID. Funktsioon Instr toimib ülejäänud kolme funktsiooni tugifunktsioonina.

Näeme, kuidas neid funktsioone alamstringide praktiliseks eraldamiseks kasutada. Nende mõistmiseks lugege allpool toodud näiteid.

Näide 1 - vasakfunktsiooni kasutamine

Kui teil on täielik nimi „Sachin Tendulkar” ja vajate alamstringina ainult eesnime, siis kasutage sama koodi saamiseks järgmist koodi.

1. samm: looge makro nimi ja määrake kaks muutujat stringiks.

Kood:

Sub SubString_Example1 () Dim FullName stringina Dim FirstName stringina End Sub

2. samm: määrake nüüd muutujale FullName nimi “Sachin Tendulkar” .

Kood:

Sub SubString_Example1 () Dim Täisnimi stringina Dim Eesnimi Stringina FullName = "Sachin Tendulkar" Lõpp-alam

3. samm: muutuja FullName omab nüüd väärtust „Sachin Tendulkar”. Nüüd peame täisnimest välja võtma eesnime exceli VBA alamstringi. Niisiis määrake funktsiooni LEFT kaudu muutuja FirstName väärtus .

Kood:

Sub SubString_Example1 () Dim Täisnimi stringina Dim Eesnimi As String TäisNimi = "Sachin Tendulkar" Eesnimi = Vasak (End Sub

4. samm: funktsiooni VBA LEFT esimene argument on String; see on täisväärtus või täielik string. Selles näites on meie täisväärtus või string „Sachin Tendulkar”, mis on määratud muutujale FullName.

Seega esitage argumendina muutuja FullName .

Kood:

Sub SubString_Example1 () Dim Täisnimi stringina Dim Eesnimi Stringina FullName = "Sachin Tendulkar" Eesnimi = Vasak lõpp Sub

5. samm: järgmine argument on see, kui palju märke vajame tarnitud stringist, nii et sel juhul vajame eesnime " Sachin " nii täielikult, vajame 6 märki vasakult küljelt.

Kood:

Sub SubString_Example1 () Dim Täisnimi stringina Dim Eesnimi As String TäisNimi = "Sachin Tendulkar" Eesnimi = Vasak (TäisNimi, 6) Lõpp Alam

6. samm: nüüd kuvage tulemus VBA teatekastis.

Kood:

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

7. samm: käivitage makro, vaadake sõnumikasti eesnime alamstringina.

Näide # 2 - hankige SubString paremalt

Nagu ka see, kuidas oleme alamstringi vasakult ekstraheerinud sarnaselt, saame ekstraheerida ka paremalt. Võtke näiteks sama nimi.

1. samm: määratlege kaks muutujat stringina.

Kood:

Sub SubString_Example2 () Dim Täisnimi stringina Dim Perenimi stringina End Sub

Etapp 2: Nagu tavaliselt, määrata väärtus muutuja FullName nagu "Sachin Tendulkar."

Kood:

Sub SubString_Example2 () Dim Täisnimi stringina Dim Perenimi kui string Täisnimi = "Sachin Tendulkar" Lõpp-alam

3. samm: määrake nüüd muutuja LastName jaoks väärtus funktsiooni RIGHT excel kaudu.

Kood:

Sub SubString_Example2 () Dim Täisnimi stringina Dim Perenimi As String TäisNimi = "Sachin Tendulkar" Perenimi = Parem (End Sub

4. samm: string on meie täielik nimi, nii et andke muutuja.

Kood:

Sub SubString_Example2 () Dim Täisnimi stringina Dim Perenimi As String TäisNimi = "Sachin Tendulkar" Perenimi = Parem (FullName, End Sub

5. samm: pikkus on see, kui palju märke vajame paremalt küljelt. Paremal küljel vajame 9 tähemärki .

Kood:

Sub SubString_Example2 () Dim Täisnimi stringina Dim Perenimi As String TäisNimi = "Sachin Tendulkar" Perenimi = Parempoolne (FullName, 9) Lõpp-alam

6. samm: kuvage see väärtus sõnumikastis .

Kood:

Sub SubString_Example2 () Dim Täisnimi stringina Dim Perenimi As String TäisNimi = "Sachin Tendulkar" Perenimi = Parem (Täisnimi, 9) MsgBoxi Perenimi Lõpp Alam

7. samm: käivitage makro. Perekonnanime näeme sõnumikastis.

Näide # 3 - Instr-funktsiooni kasutamine

Ülaltoodud näidetes oli meil ainult üks nimi ja me oleme otse sisestanud, kui palju märke vajame vasakult ja paremalt. Kuid paljude nimede puhul ei ole eesnime ja perekonnanime tähemärgid ühesugused, see erineb nimelt. Sellistel juhtudel ei saa me tähemärkide arvu otse edastada, et saaksime kasutada funktsiooni Instr.

Funktsioon Instr tagastab stringis sisalduva tähemärgi positsiooni. Näiteks vaadake allolevat koodi.

Kood:

Sub SubString_Example3 () Dim Dim 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-eesnimi () Dim K As Long Dim LR As Long LR = lahtrid (read. Arv, 1). End (xIUp). Rida K = 2 jaoks LR rakkudele (K, 2). Väärtus = vasakule (lahtrid (K, 1) .Väärtus, InStr (1, lahtrid (K, 1) .Väärtus, "") - 1) Järgmine K lõpu alamosa

Käivitage makro ja vaadake sõnumiväljas eesnime alamstringina.

Perekonnanime alamstringina eraldamiseks kasutage allolevat koodi.

Kood:

Alamnime nimi () Dim K As Long Dim LR As Long LR = lahtrid (read. Loend, 1). End (xIUp). Rida K = 2 jaoks LR rakkudele (K, 3). Väärtus = paremale (lahtrid (K, 1) .Väärtus, Len (Lahtrid (K, 1)) - InStr (1, Lahtrid (K, 1) .Väärtus, "")) Järgmine K Lõpp Alam

Käivitage makro ja näeme sõnumikastis perekonnanime.

Olen töölehele määranud makro nupu, laadinud töövihiku alla ja kasutanud neid.

Huvitavad Artiklid...