VBA turi daug eilučių funkcijų, kurios leis jums valdyti ir dirbti su tekstu ir eilutėmis jūsų kode. Šioje pamokoje mes apimsime funkcijas, kurios leis jums ištraukti antrines eilutes iš eilučių, pašalinti tarpus iš eilučių, konvertuoti teksto ar eilutės atvejį, palyginti eilutes ir kitas naudingas eilutės funkcijas.
Antrinės eilutės ištraukimas
VBA kairės eilutės funkcija
VBA kairioji funkcija leidžia iš teksto ar eilutės išgauti antrinę eilutę, pradedant nuo kairės pusės. VBA kairės eilutės funkcijos sintaksė yra tokia:
Kairė (eilutė, simbolių skaičius), kur:
- Styga - originalus tekstas.
- Simbolių skaičius - Sveikasis skaičius, nurodantis simbolių skaičių, kurį reikia išgauti iš pradinio teksto, pradedant nuo pradžios.
Šis kodas parodo, kaip naudoti kairės eilutės funkciją, norint išgauti pirmuosius keturis nurodytos eilutės simbolius:
1234567891011 | Sub UsingTheLeftStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "AutomateExcel"valueTwo = kairė (valueOne, 4)„MsgBox“ vertėPabaiga Sub |
Rezultatas yra toks:
Funkcija Kairė išskyrė pirmąsias keturias „AutomateExcel“ raides, kurios yra automatinės.
VBA dešinės eilutės funkcija
VBA dešinioji funkcija leidžia iš teksto ar eilutės išgauti antrinę eilutę, pradedant nuo dešinės pusės. VBA dešinės eilutės funkcijos sintaksė yra tokia:
Dešinėje (eilutė, simbolių skaičius), kur:
- Styga - originalus tekstas.
- Simbolių skaičius - Sveikasis skaičius, nurodantis simbolių skaičių, kurį reikia išgauti iš pradinio teksto, pradedant nuo pabaigos.
Šis kodas parodo, kaip naudoti dešinės eilutės funkciją ištraukti paskutinius keturis eilutės simbolius:
1234567891011 | Sub, naudojant „TheRightStringFunction“ ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "AutomateExcel"valueTwo = Teisė (valueOne, 4)„MsgBox“ vertėPabaiga Sub |
Rezultatas yra toks:
Funkcija „Teisė“ išskyrė paskutines keturias „AutomateExcel“ raides, kurios yra „xcel“.
VBA vidurinės eilutės funkcija
VBA vidurio funkcija leidžia iš teksto ar eilutės išgauti antrinę eilutę, pradedant nuo bet kurios nurodytos eilutės vietos. VBA vidurinės eilutės funkcijos sintaksė yra tokia:
Viduryje (eilutė, pradinė padėtis, [simbolių skaičius]), kur:
- Styga - originalus tekstas.
- Starting_position - pozicija pradiniame tekste, iš kurios bus pradėta išgauti funkcija.
- Simbolių skaičius (Neprivaloma) - Sveikasis skaičius, nurodantis simbolių skaičių, kurį reikia išgauti iš pradinio teksto, prasidedančio nuo pradžios pradžios. Jei tuščia, funkcija MID grąžins visus simbolius iš pradinės pozicijos.
Šis kodas parodo, kaip naudojant vidurinės eilutės funkciją išgauti keturis simbolius, pradedant nuo antrosios eilutės vietos ar simbolio:
1234567891011 | Sub, naudojant TheMidStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "AutomateExcel"valueTwo = Vidutinis (valueOne, 2, 4)„MsgBox“ vertėPabaiga Sub |
Rezultatas siunčiamas į žinutės dėžutę:
Vidurinė funkcija išskyrė keturias „AutomateExcel“ raides, pradedant nuo antrojo simbolio/pozicijos/raidės, kurios yra utom.
Antrinės eilutės padėties radimas
VBA „Instr String“ funkcija
Funkcija VBA Instr grąžina pradinę poskyrio poziciją kitoje eilutėje. Ši funkcija skiria didžiąsias ir mažąsias raides. „VBA Instr String“ funkcijos sintaksė yra tokia:
Instr ([Start], String, Substring, [Compare]) kur:
- Pradėti (Neprivaloma) - čia nurodoma funkcijos, iš kurios reikia ieškoti, pradinė padėtis. Jei tuščia, naudojama numatytoji reikšmė 1.
- Styga - originalus tekstas.
- Antrinė eilutė- Pradinio teksto antrinė eilutė, kurios vietą norite rasti.
- Palyginti (Neprivaloma)- Čia nurodomas lyginimo tipas. Jei tuščias, naudojamas dvejetainis palyginimas.
-vbBinaryCompare - Dvejetainis palyginimas (didžiosios ir mažosios raidės laikomos skirtingomis)
-vbTextCompare - Teksto palyginimas (didžiosios ir mažosios raidės laikomos vienodomis)
-vbDatabaseCompare - duomenų bazių palyginimas (ši parinktis naudojama tik „Microsoft Access“ ir yra palyginimas, pagrįstas duomenų baze)
Šis kodas parodo, kaip naudoti funkciją „Instr String“ norint nustatyti pirmąjį eilutės „Th“ atsiradimą pagrindinėje eilutėje:
123456789101112 | Sub UsingTheInstrStringFunction ()Dim reikšmė Vienas kaip eilutėSubstraipsnio kaip sveiko skaičiaus padėtisvalueOne = "Tai yra tekstas"positionofSubstring = InStr (1, valueOne, "Th")Derinti. Spausdinti antrinę pozicijąPabaiga Sub |
Rezultatas (išvestas į tiesioginį langą) yra toks:
Funkcija „Instr“ grąžino pirmojo poskyrio „Th“ atsiradimo vietą, kuri yra 1. Atkreipkite dėmesį, kad ši funkcija apima skaičiavimo tarpus.
VBA „InstrRev“ eilutės funkcija
Funkcija VBA „InstrRev“ grąžina pradinę poskyrio poziciją kitoje eilutėje, tačiau pradeda skaičiuoti poziciją nuo eilutės pabaigos. Ši funkcija skiria didžiąsias ir mažąsias raides. VBA „InstrRev“ eilutės funkcijos sintaksė yra tokia:
„InstrRev“ (eilutė, antrinė eilutė, [pradžia], [palyginti]), kur:
- Styga - originalus tekstas.
- Antrinė eilutė- Pradinio teksto antrinė eilutė, kurios vietą norite rasti.
- Pradėti (Neprivaloma) - tai nurodo vietą, nuo kurios reikia pradėti ieškoti. Jei tuščia, funkcija pradeda ieškoti nuo paskutinio simbolio.
- Palyginti (Neprivaloma)- Čia nurodomas lyginimo tipas. Jei tuščias, naudojamas dvejetainis palyginimas.
-vbBinaryCompare - Dvejetainis palyginimas (didžiosios ir mažosios raidės laikomos skirtingomis)
-vbTextCompare - Teksto palyginimas (didžiosios ir mažosios raidės laikomos vienodomis)
-vbDatabaseCompare - duomenų bazių palyginimas (ši parinktis naudojama tik „Microsoft Access“ ir yra palyginimas, pagrįstas duomenų baze)
Šis kodas parodo, kaip naudoti „InstrRev String“ funkciją, norint nustatyti pirmąjį eilutės „Th“ atsiradimą pagrindinėje eilutėje, pradedant nuo eilutės pabaigos:
1234567891011 | Sub UsingTheInstrRevStringFunction ()Dim reikšmė Vienas kaip eilutėSubstraipsnio kaip sveiko skaičiaus padėtisvalueOne = "Tai yra tekstas"positionofSubstring = InStrRev (valueOne, "Th")Derinti. Spausdinti antrinę pozicijąPabaiga Sub |
Rezultatas pateikiamas nedelsiant:
Funkcija „InstrRev“ grąžino pirmo poskyrio „Th“ atsiradimo vietą, tačiau skaičiavimą pradeda nuo pabaigos, kuri yra 9. Pastaba. Ši funkcija apima skaičiavimo tarpus.
Tarpų pašalinimas iš eilutės
„VBA LTrim“ stygų funkcija
Funkcija VBA LTrim pašalina visas pirmaujančias tarpus iš teksto ar eilutės. VBA LTrim eilutės funkcijos sintaksė yra tokia:
LTrim (eilutė), kur:
- Styga - originalus tekstas.
Šis kodas parodo, kaip naudoti funkciją „VBA LTrim“, kad pašalintumėte pirmąsias duotosios eilutės tarpus:
123456789101112 | Sub, naudojant TheLTrimStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "Tai yra svetainės adresas https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)„MsgBox valueOne“„MsgBox“ vertėPabaiga Sub |
Rezultatai yra tokie:
Funkcija „LTrim“ pašalino pirmaujančias tarpas vertei, kuri parodyta antrame pranešimų laukelyje.
VBA RTrim eilutės funkcija
Funkcija „VBA RTrim“ pašalina visas galines tarpas iš teksto ar eilutės. VBA RTrim eilutės funkcijos sintaksė yra tokia:
RTrim (eilutė), kur:
- Styga - originalus tekstas.
Šis kodas parodo, kaip naudoti funkciją VBA RTrim, kad pašalintumėte nurodytos eilutės galinius tarpus:
123456789101112 | Sub, naudojant TheRTrimStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "Tai svetainės adresas https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)„MsgBox valueOne“„MsgBox“ vertėPabaiga Sub |
Pateikti rezultatai yra šie:
Funkcija „RTrim“ pašalino dvi vertes, kurios rodomos antrame pranešimų laukelyje.
VBA kirpimo stygų funkcija
VBA apkarpymo funkcija pašalina visas priekines ir galines tarpas iš teksto ar eilutės. „VBA Trim String“ funkcijos sintaksė yra tokia:
Apkarpyti (eilutę), kur:
- Styga - originalus tekstas.
Šis kodas parodo, kaip naudoti „VBA Trim“ funkciją, kad pašalintumėte duotosios eilutės priekinius ir galinius tarpus:
123456789101112 | Sub, naudojant TheTrimStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "Tai svetainės adresas https://easyexcel.net/excel/"valueTwo = Apkirpti (valueOne)„MsgBox valueOne“„MsgBox“ vertėPabaiga Sub |
Rezultatai yra tokie:
Apkarpymo funkcija pašalino priekines ir galines tarpas vertetwo, kuri parodyta antrame pranešimų laukelyje.
VBA dėklo funkcijos
VBA LCase stygų funkcija
Funkcija VBA LCase konvertuoja teksto ar eilutės raides į mažąsias raides. „VBA LCase String“ funkcijos sintaksė yra tokia:
LCase (eilutė), kur:
- Styga - originalus tekstas.
Šis kodas parodo, kaip naudoti LCase String funkciją, kad visos nurodytos eilutės raidės būtų konvertuojamos į mažąsias raides:
1234567891011 | Sub, naudojant TheLCaseStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "Tai yra produktas"valueTwo = LCase (valueOne)„MsgBox“ vertėPabaiga Sub |
Rezultatas yra toks:
„LCase“ funkcija visas eilutės raides pavertė mažosiomis.
VBA UCase stygų funkcija
Funkcija VBA UCase konvertuoja teksto ar eilutės raides į didžiąsias raides. „VBA UCase String“ funkcijos sintaksė yra tokia:
UCase (eilutė), kur:
- Styga - originalus tekstas.
Šis kodas parodo, kaip naudoti UCase String funkciją, kad visos nurodytos eilutės raidės būtų konvertuotos į didžiąsias raides:
1234567891011 | Sub, naudojant TheUCaseStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "tai yra produktas"valueTwo = UCase (valueOne)„MsgBox“ vertėPabaiga Sub |
Rezultatas yra toks:
„UCase“ funkcija visas eilutės raides pavertė didžiosiomis raidėmis.
Funkcija „VBA StrConv“
Funkcija „VBA StrConv“ gali konvertuoti teksto ar eilutės raides į didžiąsias, mažąsias, tinkamas arba unicode, priklausomai nuo jūsų nurodytos konversijos tipo. „VBA StrConv String“ funkcijos sintaksė yra tokia:
„StrConv“ (eilutė, konversija, [LCID]), kur:
- Styga - originalus tekstas.
- Konversija - norimos konversijos tipas.
- [LCID] (Neprivaloma) -Pasirenkamas parametras, nurodantis „LocaleID“. Jei tuščia, naudojama sistemos „LocaleID“.
Šis kodas parodo, kaip naudoti „StrConv String“ funkciją, kad eilutė būtų paversta tinkamomis raidėmis:
1234567891011 | Sub, naudojant TheStrConvStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "tai yra produktas"valueTwo = StrConv (valueOne, vbProperCase)„MsgBox“ vertėPabaiga Sub |
Rezultatas yra toks:
Naudodami konversijos parametrą nurodote norimos atlikti konversijos tipą:
- „vbLowerCase“ visas teksto raides paverčia mažosiomis.
- „vbUpperCase“ konvertuoja visas teksto raides į didžiąsias raides.
- „vbProperCase“ kiekvieno teksto žodžio pirmąją raidę paverčia didžiosiomis raidėmis, o visos kitos raidės laikomos mažosiomis.
- „vbUnicode“ konvertuoja eilutę į unicode.
- „vbFromUnicode“ konvertuoja eilutę iš „Unicode“ į numatytąjį sistemos kodo puslapį.
Styginių palyginimas
„VBA StrComp“ funkcija
„VBA StrComp String“ funkcija leidžia palyginti dvi eilutes. Funkcija grąžina:
- 0, jei abi eilutės sutampa
- -1, jei eilutė1 yra mažesnė už eilutę2
- 1, jei eilutė1 yra didesnė už eilutę2
- Nulinė vertė, jei bet kuri eilutė buvo Null
Šis kodas parodo, kaip naudoti funkciją „StrComp“, kad būtų galima palyginti dvi eilutes:
123456789101112 | Sub, naudojant TheStrCompStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėNelygus palyginimo rezultatas kaip sveikasis skaičiusvalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (valueOne, valueTwo)Derinimas. Spausdinimo palyginimo rezultatasPabaiga Sub |
Rezultatas yra toks:
„StrComp“ funkcija rado tikslią dviejų eilučių atitiktį ir grąžino 0.
VBA patinka operatorius
„VBA Like“ operatorius leidžia palyginti tekstą ar eilutę su modeliu ir pamatyti, ar yra atitiktis. Paprastai „Like“ operatorių naudojate kartu su pakaitos simboliais. Šis kodas parodo, kaip naudoti „Like“ operatorių:
123456789101112 | Sub, naudojant „TheLikeOperatorInVBA“ ()Dim reikšmė Vienas kaip eilutėvalueOne = "Peržiūrėkime išvestį"Jei valueOne Like "*view*" TadaMsgBox „Yra atitikmuo, šioje eilutėje yra žodis rodinys“Kitas„MsgBox“ nerasta atitiktiesPabaiga JeiPabaiga Sub |
Rezultatas yra toks:
Pakaitos simboliai, kuriuos galite naudoti su „Like“ operatoriumi, kad rastumėte modelio atitiktis:
- ? kuris atitinka vieną simbolį
- # kuris atitinka vieną skaitmenį
- * kuris atitinka nulį ar daugiau simbolių
Šis kodas parodo, kaip naudosite „Like“ operatorių ir? pakaitos simbolis, atitinkantis jūsų kodo modelį:
123456789101112 | Sub, naudojant „TheLikeOperatorWithAWildcardInVBA“ ()Dim reikšmė Vienas kaip eilutėvalueOne = "The"Jei valueOne Like "?? e" Tada„MsgBox“ yra atitikmuo, rastas atitinkantis modelisKitas„MsgBox“ nerasta atitiktiesPabaiga JeiPabaiga Sub |
Pateiktas rezultatas yra:
Kitos naudingos VBA stygų funkcijos
VBA pakeitimo eilutės funkcija
VBA pakeitimo funkcija pakeičia simbolių rinkinį eilutėje kitu simbolių rinkiniu. VBA pakeitimo eilutės funkcijos sintaksė yra tokia:
Pakeisti (eilutė, rasti, pakeisti, [pradėti], [skaičiuoti], [palyginti]), kur:
- Styga - originalus tekstas.
- Rasti - antrinė eilutė, kurios reikia ieškoti pradiniame tekste.
- Pakeisti - antrinė eilutė, kuria pakeičiama eilutė „Rasti“.
- Pradėti (Neprivaloma)- Pozicija pradėti paiešką iš pradinio teksto. Jei tuščia, naudojama reikšmė 1 ir funkcija pradedama nuo pirmosios simbolio vietos.
- Skaičiuoti (Neprivaloma)- Pakeistame pirminio teksto antrinės eilutės įvykių skaičius. Jei tuščias, visi poskyrio „Find“ įvykiai pakeičiami.
- Palyginti (Neprivaloma)- Čia nurodomas lyginimo tipas. Jei tuščias, naudojamas dvejetainis palyginimas.
-vbBinaryCompare - Dvejetainis palyginimas
-vbTextCompare - teksto palyginimas
-vbDatabaseCompare - duomenų bazių palyginimas (ši parinktis naudojama tik „Microsoft Access“ ir yra palyginimas, pagrįstas duomenų baze.)
Šis kodas parodo, kaip naudoti funkciją Pakeisti eilutę:
1234567891011 | Sub UsingTheReplaceStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "ProductABC"valueTwo = Pakeisti (valueOne, "ABC", "XYZ")„MsgBox“ vertėPabaiga Sub |
Rezultatas yra toks:
Funkcija Pakeisti surado antrinę eilutę ABC „ProductABC“ ir pakeitė ją antrine eilute XYZ.
VBA StrReverse funkcija
Funkcija VBA StrReverse pakeičia tam tikro teksto ar eilutės simbolius. VBA StrReverse String funkcijos sintaksė yra tokia:
„StrReverse“ (eilutė), kur:
- Styga - originalus tekstas.
Šis kodas parodo, kaip naudoti VBA StrReverse funkciją, kad pakeistumėte eilutės Product simbolius:
1234567891011 | Sub, naudojant TheStrReverseStringFunction ()Dim reikšmė Vienas kaip eilutėDim reikšmėDu kaip eilutėvalueOne = "Produktas"valueTwo = StrReverse (valueOne)„MsgBox“ vertėPabaiga Sub |
Rezultatas yra toks:
VBA Len String funkcija
Funkcija VBA Len grąžina simbolių skaičių teksto eilutėje. „VBA Len String“ funkcijos sintaksė yra tokia:
Lenas (eilutė), kur:
- Styga - originalus tekstas.
Šis kodas parodo, kaip naudojant „Len String“ funkciją nustatyti eilutės „AutomateExcel“ ilgį:
1234567891011 | Sub, naudojant „TheLenFunction“ ()Dim reikšmė Vienas kaip eilutėDim stringLength As IntegervalueOne = "AutomateExcel"stringLength = Len (valueOne)Derinimas. Spausdinti eilutęLengthPabaiga Sub |
Rezultatas yra toks:
Funkcija „Len“ suskaičiavo visus teksto „AutomateExcel“ simbolius, tai yra 13 raidžių.