Ši pamoka parodys, kaip naudoti tinkamą VBA funkciją tekstui išgauti iš dešinės.
Teisinga funkcija
VBA Dešinioji funkcija Paskutiniai n simboliai
Funkcija „VBA Right“ grąžina paskutinius n simbolius iš eilutės:
123456 | Po dešinePavyzdys_1 ()„MsgBox Right“ („ABCDEFGHI“, 4) „Rezultatas:„ FGHI “„MsgBox Right“ („ABCDEFGHI“, 2) „Rezultatas:„ HI “„MsgBox Right“ („ABCDEFGHI“, 1) „Rezultatas:„ Aš “„MsgBox Right“ („ABCDEFGHI“, 100) „Rezultatas:„ ABCDEFGHI “Pabaiga Sub |
VBA dešinioji funkcija Paskutiniai n simboliai kintamajame
Kaip parodyta aukščiau, galite apibrėžti eilutę tiesiog įvesdami tekstą, išdėstytą kabutėse. Tačiau FIGHT funkcija taip pat veiks su eilutės kintamaisiais. Šie pavyzdžiai ištrauks paskutinius n simbolius iš eilutės kintamojo.
123456789 | Antrasis dešinysPavyzdys_2 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjįStrEx = "ABCDEFGHI"„MsgBox Right“ („StrEx“, 4) rezultatas: „FGHI“„MsgBox Right“ („StrEx“, 2) rezultatas: „HI“„MsgBox Right“ („StrEx“, 1) rezultatas: „Aš“„MsgBox Right“ („StrEx“, 100) rezultatas: „ABCDEFGHI“Pabaiga Sub |
VBA programavimas | Kodo generatorius jums tinka!
VBA dešinioji funkcija Paskutiniai n simboliai 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 paskutinius n simbolius iš tos darbalapio langelio vertės.
123456789101112 | Po dešiniuojuExample_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 ląstelės A1 vertė yra„ ABCDEFG hI “„MsgBox Right“ („StrEx“, 4) rezultatas: „G hI“„MsgBox“ dešinėje („StrEx“, 2) „Rezultatas:„ hI “„MsgBox Right“ („StrEx“, 1) rezultatas: „Aš“„MsgBox Right“ („StrEx“, 100) rezultatas: „ABCDEFG hI“Pabaiga Sub |
VBA dešinės funkcijos apipjaustymas pirmąja raide
Norėdami pašalinti raides iš eilutės pradžios, naudokite funkciją DEŠINIS kartu su LEN funkcija.
Funkcija VBA LEN skaičiuoja simbolių skaičių eilutėje:
1 | Lenas („StrEx“) |
Sujungdami funkcijas, galime pašalinti tam tikrą skaičių simbolių iš eilutės pradžios:
12345678 | Po dešiniuojuExample_4 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjįStrEx = "ABCDEF"„MsgBox Right“ („StrEx“, „Len“ („StrEx“)) rezultatas: „ABCDEF“„MsgBox“ dešinėje (StrEx, Len (StrEx) - 1) „Rezultatas:„ BCDEF “„MsgBox“ dešinėje („StrEx“, „Len“ („StrEx“ - 2)) Rezultatas: „CDEF“Pabaiga Sub |
VBA Teisė ištraukti tekstą po tarpo
Norėdami išgauti pavardę iš eilutės visu pavadinimu, naudokite dešinę funkciją kartu su funkcija „Len“ ir „Instr“.
Funkcija VBA LEN skaičiuoja simbolių skaičių eilutėje:
1 | Lenas („StrEx“) |
Funkcija „VBA InStr“ eilutės viduje ieško antrinės eilutės ir grąžina antrinės eilutės pozicijos numerį.
1 | „InStr“ („StrEx“, „“) |
Sujungdami funkcijas, iš frazės galime išgauti dalį po pirmosios vietos:
123456789101112131415 | Po dešinePavyzdys_5 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjį„StrEx“ = „Lukas Skywalkeris“„MsgBox“ dešinėje („StrEx“, „Len“ („StrEx“) - „InStr“ („StrEx“, „“))Rezultatas: „Skywalker“„StrEx“ = „Leonardo da Vinci“„MsgBox“ dešinėje („StrEx“, „Len“ („StrEx“) - „InStr“ („StrEx“, „“))„Rezultatas:„ da Vinci “StrEx = "Tegul jėga būna su jumis"„MsgBox“ dešinėje („StrEx“, „Len“ („StrEx“) - „InStr“ („StrEx“, „“))Rezultatas: „Jėga su jumis“Pabaiga Sub |
Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!
VBA teisė ištraukti paskutinį žodį
Norėdami išgauti paskutinį žodį iš eilutės su fraze, naudokite dešinę funkciją kartu su funkcija „Len“ ir „InstrRev“.
Kaip matėme aukščiau, funkcija VBA LEN skaičiuoja simbolių skaičių eilutėje:
1 | Lenas („StrEx“) |
Funkcija VBA „InStrRev“ ieško eilutės viduje esančios antrinės eilutės ir grąžina antrinės eilutės pozicijos numerį. Jis pradeda paiešką nuo frazės pabaigos (iš dešinės į kairę), bet grąžina poziciją nuo eilutės pradžios (iš kairės į dešinę).
1 | „InStrRev“ („StrEx“, „“) |
Sujungdami funkcijas, iš frazės galime išgauti dalį po paskutinės tarpo:
123456789101112131415 | Antrasis dešinysis pavyzdys_6 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjį„StrEx“ = „Lukas Skywalkeris“„MsgBox“ dešinėje („StrEx“, „Len“ („StrEx“) - „InStrRev“ („StrEx“, „“))Rezultatas: „Skywalker“„StrEx“ = „Leonardo da Vinci“„MsgBox“ dešinėje („StrEx“, „Len“ („StrEx“) - „InStrRev“ („StrEx“, „“))„Rezultatas:„ da Vinci “StrEx = "Tegul jėga būna su jumis"„MsgBox“ dešinėje („StrEx“, „Len“ („StrEx“) - „InStrRev“ („StrEx“, „“))Rezultatas: „tu“Pabaiga Sub |