VBA teisinga funkcija (pavyzdžiai) Žingsnis po žingsnio „Excel VBA Right“

Teisinga funkcija „VBA Excel“

Dešinioji funkcija yra tokia pati kaip ir darbalapio funkcijoje, ir VBA, šios funkcijos naudojimas yra tas, kad ji suteikia mums tam tikros eilutės pakraštį, tačiau paieška atliekama iš eilutės iš dešinės į kairę, tai yra VBA eilutės funkcijos tipas naudojamas kartu su application.worksheet funkcijos metodu.

RIGHT „Excel VBA“ funkcija, naudojama simboliams išgauti iš dešinės pateiktų teksto verčių pusės. Programoje „Excel“ turime daug teksto funkcijų, skirtų tvarkyti teksto duomenis. Kai kurios naudingos funkcijos yra LEN, LEFT, RIGHT, MID funkcija, norint išgauti simbolius iš teksto reikšmių. Dažniausias šių funkcijų naudojimo pavyzdys yra vardo ir pavardės išskyrimas atskirai nuo viso vardo.

RIGHT formulė taip pat yra darbalapyje. VBA, norėdami pasiekti VBA RIGHT funkciją, turime pasikliauti darbalapio funkcijų klase, o VBA taip pat turime integruotą RIGHT funkciją.

Dabar pažvelkite į žemiau pateiktą VBA RIGHT formulės sintaksę.

  • Stygos: Tai yra mūsų vertė ir iš šios vertės bandome išskirti simbolius iš dešinės eilutės pusės.
  • Ilgis: iš pateiktos eilutės, kiek mums reikia simbolių. Jei mums reikia keturių simbolių iš dešinės pusės, argumentą galime pateikti kaip 4.

Pvz., Jei eilutė yra „Mobilusis telefonas“ ir jei norime išgauti tik žodį „Telefonas“, galime pateikti tokį argumentą kaip toliau.

RIGHT („Mobilusis telefonas“, 5)

Priežastis, kodėl paminėjau 5, nes žodyje „Telefonas“ yra 5 raidės. Kitame straipsnio skyriuje pamatysime, kaip galime jį naudoti VBA.

„Excel VBA“ dešinės funkcijos pavyzdžiai

Toliau pateikiami „Right Function VBA Excel“ pavyzdžiai.

Šį „VBA Right Function Excel“ šabloną galite atsisiųsti čia - „VBA Right Function Excel“ šablonas

1 pavyzdys

Aš jums parodysiu paprastą pavyzdį, kad pradėtumėte procesą. Tarkime, kad turite eilutę „Niujorkas“ ir jei norite išgauti 3 simbolius iš dešinės, atlikite toliau nurodytus veiksmus, kad parašytumėte kodą.

1 veiksmas: paskelbkite kintamąjį kaip VBA eilutę.

Kodas:

 Sub Right_Pavyzdys1 () Dim k As String End Sub 

2 žingsnis: Dabar šiam kintamajam priskirsime vertę taikydami funkciją RIGHT.

Kodas:

 Sub Right_Pavyzdys1 () Dim k As String k = Right (End Sub 

3 žingsnis: Pirmasis  argumentas yra String, o mūsų pavyzdys yra „Niujorkas“.

Kodas:

 Sub Right_Pavyzdys1 () Dim k As String k = Right ("Niujorkas", pabaigos sub 

4 žingsnis: Toliau nurodoma, kiek simbolių mums reikia iš pateiktos eilutės. Šiame pavyzdyje mums reikia 3 simbolių.

Kodas:

 Sub Right_Pavyzdys1 () Dim k As String k = Right („Niujorkas“, 3) Pabaigos sub 

5 žingsnis: turime išspręsti 2 argumentus, todėl viskas baigta. Dabar priskirkite šio kintamojo reikšmę VBA pranešimų laukelyje.

Kodas:

 Sub Right_Pavyzdys1 () Dim k As String k = Right („Niujorkas“, 3) MsgBox k End Sub 

Paleiskite kodą naudodami F5 klavišą arba rankiniu būdu ir pamatykite rezultatą pranešimo laukelyje.

Žodyje „Niujorkas“ iš dešinės pusės 3 simboliai yra „ork“.

Dabar aš pakeisiu ilgį nuo 3 iki 4, kad gautų visą vertę.

Kodas:

 Sub Right_Pavyzdys1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub 

Paleiskite šį kodą rankiniu būdu arba naudodami F5 klavišą, gausime „York“.

2 pavyzdys

Dabar pažvelkite į dar vieną pavyzdį, šį kartą eilutės vertę laikykite „Michael Clarke“.

Jei ilgį pateiksite kaip 6, gausime „Clarke“.

Kodas:

 Sub Right_Pavyzdys1 () Dim k As String k = Right („Michael Clarke“, 6) MsgBox k End Sub 

Paleiskite šį kodą naudodami klavišą F5 arba rankiniu būdu, kad pamatytumėte rezultatą.

Dinaminė dešinioji funkcija „Excel VBA“

Jei atsižvelgsite į mūsų ankstesnius du pavyzdžius, ilgio argumentų numerius pateikėme rankiniu būdu. Tačiau tai nėra tinkamas procesas.

Kiekvienoje eilutėje dešinės pusės simboliai kiekvienu atveju yra skirtingi. Negalime skirtingai nurodyti simbolių ilgio rankiniu būdu kiekvienai vertei. Čia kita vaidmens funkcija „Instr“ vaidina gyvybiškai svarbų vaidmenį.

Funkcija „ Instr“ grąžina pateiktą simbolio poziciją pateiktoje eilutės vertėje. Pavyzdžiui, „ Instr“ (1, „Bangalore“, „a“) grąžina „a“ raidės poziciją eilutėje „Bangalore“ nuo pirmojo (1) simbolio.

Šiuo atveju rezultatas yra 2, nes nuo pirmosios raidės „a“ simbolio pozicijos yra 2-oji pozicija.

Jei pakeisiu pradinę padėtį iš 1 į 3, ji grąžins 5.

Instras (3, „Bangalore“, „a“) .

Priežastis, kodėl ji grąžina 5, nes paminėjau pradinę padėtį ieškoti „a“ raidės tik iš 3 raidės. Taigi antrojo pasirodžiusio „a“ pozicija yra 5.

Taigi, norėdami rasti kiekvienos eilutės tarpinį simbolį, galime tai naudoti. Suradę tarpo simbolio padėtį, naudodami LEN, turime atimti tą vietą nuo bendro eilutės ilgio.

Pavyzdžiui, eilutėje „Niujorkas“ bendras simbolių skaičius yra 8, įskaitant tarpą, o tarpo vieta yra 4. Taigi 8-4 = 4 dešinėje bus išgauti 4 simboliai iš dešinės.

Dabar pažiūrėkite į žemiau pateiktą kodą.

Kodas:

 Sub Right_Pavyzdys3 () Dim k As String Dim L As String Dim S As String L = Len ("Michael Clarke") S = InStr (1, "Michael Clarke", "") k = Right ("Michael Clarke", L - S) „MsgBox k End Sub“ 

Aukščiau pateiktame kodo kintamajame „L“ bus rodoma 14, o kintamojo „S“ - 8.

VBA teisingoje formulėje pritaikiau L - S, ty 14-8 = 6. Taigi iš dešinės pusės 6 simboliai, ty „Clarke“.

„Excel VBA“ kilpos su teisinga funkcija

Kai turime pritaikyti funkciją VBA RIGHT su daugeliu langelių, turime tai įtraukti į kilpas. Pavyzdžiui, pažiūrėkite į žemiau esantį vaizdą.

Negalime pritaikyti daug kodo eilučių, kad ištrauktume eilutę iš dešinės pusės. Taigi turime įtraukti kilpas. Žemiau pateiktas kodas tai padarys aukščiau nurodytiems duomenims.

Kodas:

 Dešinysis dešinysis_pavyzdys4 () Dim k As String Dim L As String Dim S As String Dim a As Inters a = 2–5 L = Len (Cells (a, 1). Vertė) S = InStr (1, Cells (a, 1) ) .Vertė, "") Ląstelės (a, 2). Vertė = Dešinė (Ląstelės (a, 1), L - S) Toliau pabaiga 

Šio kodo rezultatas yra toks.