Ši pamoka parodys, kaip naudoti funkciją „Vidutinis VBA“, norint išgauti simbolius iš teksto eilutės vidurio.
Vidurinė funkcija
Vidurinė funkcija Gaukite n simbolių
Funkcija „VBA Mid“ grąžina n simbolių iš eilutės, pradedant nuo pozicijos m:
123456789 | Vidutinis pavyzdys_1 ()„MsgBox Mid“ („ABCDEFGHI“, 4, 1) „Rezultatas:„ D “„MsgBox Mid“ („ABCDEFGHI“, 4, 2) „Rezultatas:„ DE “„MsgBox Mid“ („ABCDEFGHI“, 4, 50) „Rezultatas:„ DEFGHI “„MsgBox Mid“ („ABCDEFG hI“, 6, 1) „Rezultatas:„ F “„MsgBox Mid“ („ABCDEFG hI“, 6, 2) „Rezultatas:„ FG “„MsgBox Mid“ („ABCDEFG hI“, 6, 4) „Rezultatas:„ FG h “Pabaiga Sub |
Vidurinė funkcija Gaukite n simbolių kintamajame
Kaip parodyta aukščiau, galite apibrėžti eilutę tiesiog įvesdami tekstą, išdėstytą kabutėse. Tačiau MID funkcija taip pat veiks su eilutės kintamaisiais. Šie pavyzdžiai ištrauks n simbolių iš eilutės, pradedant nuo pozicijos m.
12345678 | Antrasis vidurinis pavyzdys_2 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjįStrEx = "ABCDEFGHI"„MsgBox Mid“ („StrEx“, 2, 1) „Rezultatas:„ B “„MsgBox Mid“ („StrEx“, 2, 2) „Rezultatas:„ BC “„MsgBox Mid“ („StrEx“, 2, 50) „Rezultatas:„ BCDEFGHI “Pabaiga Sub |
Vidurinė funkcija Gaukite n simbolių iš langelio
Eilutės gali būti apibrėžtos VBA kodu, bet taip pat galite naudoti langelių reikšmes. Perskaitykite langelio vertę, laikykite ją eilutės kintamajame ir ištraukite n simbolių iš tos darbalapio langelio vertės, pradedant nuo pozicijos m.
1234567891011 | Antrasis vidurio pavyzdys_3 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjį„Perskaitykite A1 langelio reikšmę 1 darbalapio lapeStrEx = ThisWorkbook.Worksheets ("Sheet1"). Diapazonas ("A1"). ReikšmėŠiame pavyzdyje A1 langelio vertė yra „Tegul jėga būna su jumis“„MsgBox Mid“ („StrEx“, 4, 6) „Rezultatas:„ F “(atkreipkite dėmesį į tarpą pradžioje)„MsgBox Mid“ („StrEx“, 2, 8) „Rezultatas:„ a F “„MsgBox Mid“ („StrEx“, 3, 4) „Rezultatas:„ y “Pabaiga Sub |
Vidurinė funkcija Pakeiskite n simbolius
Anksčiau pateiktuose pavyzdžiuose funkcija „Mid“ nepakeitė pradinės eilutės. Ji grąžino dalį jos, palikdama nepažeistą pradinę stygą. Vidurinė funkcija gali būti naudojama norint pakeisti simbolius eilutėje.
12345678910111213141516171819202122 | Antrasis vidurinis pavyzdys_4 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjįAntrasis vidurio pavyzdys_4 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjįStrEx = "Tegul jėga būna su jumis"Vidutinis (StrEx, 5, 1) = "VWXYZ"„MsgBox StrEx“ rezultatas: „Tegul„ Vhe Horce “bus su jumis“„Vidurinė funkcija rado 5 poziciją ir pakeitė 1 simbolį pradinėje eilutėjeStrEx = "Tegul jėga būna su jumis"Vidutinis (StrEx, 5, 3) = "VWXYZ"„MsgBox StrEx“ rezultatas: „Tegul„ VWX Horce “bus su jumis“„Vidurinė funkcija rado 5 poziciją ir pakeitė 3 simbolius pradinėje eilutėjeStrEx = "Tegul jėga būna su jumis"Vidutinis (StrEx, 5, 8) = "VWXYZ"„MsgBox StrEx“ rezultatas: „Tegul„ VWXYZorce “bus su jumis“„Vidurinė funkcija rado 5 poziciją ir bandė pakeisti 8 simbolius.„„ VWXYZ “turi tik 5 simbolius, todėl buvo pakeisti tik 5 simboliai.Pabaiga Sub |
Vidurinė funkcija Ištraukite antrąjį žodį iš frazės
Norėdami gauti antrą žodį tekste, galime naudoti funkciją VBA Mid su funkcija VBA Instr.
Funkcija „VBA InStr“ gali grąžinti simbolio vietą tekste.
1 | „InStr“ („Du žodžiai“, „“) „Rezultatas yra 4 |
Mes galime naudoti „InStr“, kad surastume pirmąją erdvę, tada vėl galime naudoti „InStr“, pradėdami paiešką po pirmosios vietos, kad surastume antrąją teksto vietą. Galiausiai, mes galime naudoti funkciją „Mid“ žodžiui išgauti, nes žinome antrojo žodžio pradinę padėtį ir jo ilgį (skirtumas tarp dviejų tarpų).
12345678910111213141516171819202122232425 | VidurinisPavyzdys_5 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjį„Dim StartPos“ kaip sveikasis skaičius„Dim EndPos“ kaip sveikasis skaičiusDim SecondWord kaip eilutėStrEx = "Jamesas Earlas Jonesas yra aktorius"StartPos = InStr (StrEx, "")'Rezultatas yra 6„Raskite pirmosios erdvės padėtįEndPos = InStr (StartPos + 1, StrEx, "")'Rezultatas yra 11„Raskite antrosios erdvės vietą, pradėdami paiešką po pirmosios vietosSecondWord = vidurys (StrEx, StartPos + 1, EndPos - StartPos - 1)„Mid“ išskiria simbolius, prasidedančius po pirmosios tarpo („StartPos +1“)„Mid“ taip pat naudoja antrojo žodžio ilgį.„Tai yra skirtumas tarp tarpų pozicijų -1„MsgBox SecondWord“„Rezultatas yra EarlPabaiga Sub |