VBA -l on palju stringifunktsioone, mis võimaldavad teil koodis teksti ja stringidega manipuleerida ning nendega töötada. Selles õpetuses käsitleme funktsioone, mis võimaldavad teil stringidest alamstringe eraldada, stringidest tühikuid eemaldada, teksti või stringi käändeid teisendada, stringe ja muid kasulikke stringifunktsioone võrrelda.
Alamstringi ekstraheerimine
VBA vasaku stringi funktsioon
Funktsioon VBA vasakule võimaldab teil ekstraheerida alamstringi tekstist või stringist, alustades vasakult küljelt. VBA vasaku stringi funktsiooni süntaks on järgmine:
Vasakule (string, tähemärkide arv), kus:
- String - originaaltekst.
- Märkide arv - Täisarv, mis määrab algupärasest tekstist algusest peale eraldatavate tähemärkide arvu.
Järgmine kood näitab teile, kuidas kasutada vasakpoolse stringi funktsiooni antud stringi nelja esimese märgi eraldamiseks:
1234567891011 | AlamfunktsioonTheLeftStringFunction ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "AutomateExcel"valueTwo = vasakule (valueOne, 4)MsgBox valueKaksEnd Sub |
Tulemuseks on:
Vasakpoolne funktsioon on välja võtnud AutomateExceli neli esimest tähte, mis on automaatne.
VBA parema stringi funktsioon
Funktsioon VBA Right võimaldab teil tekstist või stringist alamstringi ekstraheerida, alustades paremast servast. VBA parema stringi funktsiooni süntaks on järgmine:
Paremal (string, tähemärkide arv), kus:
- String - originaaltekst.
- Märkide arv - Täisarv, mis määrab tähemärkide arvu, mis tuleb algtekstist alates lõpust välja võtta.
Järgmine kood näitab teile, kuidas kasutada parema stringi funktsiooni stringi viimase nelja märgi eraldamiseks:
1234567891011 | FunktsiooniRightStringFunktsioon ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "AutomateExcel"valueTwo = Õige (valueOne, 4)MsgBox valueKaksEnd Sub |
Tulemuseks on:
Paremfunktsioon on välja võtnud AutomateExceli neli viimast tähte, mis on xcel.
VBA keskmise stringi funktsioon
Funktsioon VBA Mid Funktsioon võimaldab teil tekstist või stringist eraldada alamstringi, alustades mis tahes määratud stringi positsioonist. VBA keskmise stringi funktsiooni süntaks on järgmine:
Keskmine (string, alguspositsioon, [tähemärkide arv]), kus:
- String - originaaltekst.
- Starting_position - asukoht algtekstis, kust funktsioon hakkab välja võtma.
- Tähemärkide arv (Valikuline) - Täisarv, mis määrab tähemärkide arvu, mis tuleb originaaltekstist välja võtta, alustades alguspunktist. Kui see on tühi, tagastab funktsioon MID kõik tähemärgid lähtepositsioonilt.
Järgmine kood näitab, kuidas kasutada funktsiooni Mid String, et eraldada neli märki, alustades stringi teisest positsioonist või tähemärgist:
1234567891011 | Alam, kus kasutatakse funktsiooni TheMidStringFunction ()Dim väärtusÜks kui stringHämarda väärtus Kaks stringinavalueOne = "AutomateExcel"valueTwo = Mid (valueOne, 2, 4)MsgBox valueKaksEnd Sub |
Tulemus väljastatakse sõnumikasti:
Keskfunktsioon on välja võtnud neli tähte AutomateExcel, alustades teisest tähemärgist/positsioonist/tähest, mis on utom.
Alamstringi positsiooni leidmine
VBA Instr String funktsioon
Funktsioon VBA Instr tagastab teise stringi alamstringi algpositsiooni. See funktsioon on tõstutundlik. Funktsiooni VBA Instr String süntaks on järgmine:
Instr ([Start], string, alamstring, [Võrdle]), kus:
- Alusta (Valikuline) - See määrab funktsiooni lähtepunkti, kust otsida. Kui see on tühi, kasutatakse vaikeväärtust 1.
- String - originaaltekst.
- Alamstring- Alamstring originaaltekstis, mille asukoha soovite leida.
- Võrdlema (Valikuline)- See määrab võrdluse tüübi. Kui see on tühi, kasutatakse binaarset võrdlust.
-vbBinaryCompare - Binaarne võrdlus (suurtähed ja väiketähed on erinevad)
-vbTextCompare - tekstide võrdlus (suurtähed ja väiketähed loetakse samaks)
-vbDatabaseCompare - Andmebaaside võrdlus (seda suvandit kasutatakse ainult Microsoft Accessis ja see on andmebaasil põhinev võrdlus)
Järgmine kood näitab teile, kuidas kasutada funktsiooni Instr String, et määrata alamstringi "Th" esimene esinemine põhistringis:
123456789101112 | Alam, kasutades funktsiooni InstrStringFunction ()Dim väärtusÜks kui stringAlamstringi täisarvvalueOne = "See on tekst"positionofSubstring = InStr (1, valueOne, "Th")Silumine. Alamstringi trükkimise asukohtEnd Sub |
Tulemus (väljastatakse kohesele aknale) on järgmine:
Funktsioon Instr on tagastanud alamstringi "Th" esimese esinemise positsiooni, mis on 1. Pange tähele, et see funktsioon sisaldab loenduses tühikuid.
Stringifunktsioon VBA InstrRev
Funktsioon VBA InstrRev tagastab teise stringi alamstringi algpositsiooni, kuid alustab positsiooni lugemist stringi lõpust. See funktsioon on tõstutundlik. VBA InstrRev String Funktsiooni süntaks on järgmine:
InstrRev (string, alamstring, [algus], [võrdlus]), kus:
- String - originaaltekst.
- Alamstring- Alamstring originaaltekstis, mille asukoha soovite leida.
- Alusta (Valikuline) - See määrab asukoha, kust otsingut alustada. Kui see on tühi, hakkab funktsioon otsima viimasest tähemärgist.
- Võrdlema (Valikuline)- See määrab võrdluse tüübi. Kui see on tühi, kasutatakse binaarset võrdlust.
-vbBinaryCompare - Binaarne võrdlus (suurtähed ja väiketähed on erinevad)
-vbTextCompare - tekstide võrdlus (suurtähed ja väiketähed loetakse samaks)
-vbDatabaseCompare - Andmebaaside võrdlus (seda suvandit kasutatakse ainult Microsoft Accessis ja see on andmebaasil põhinev võrdlus)
Järgmine kood näitab teile, kuidas kasutada stringi funktsiooni InstrRev, et määrata alamstringi “Th” esimene esinemine põhistringis, alustades stringi lõpust:
1234567891011 | Alam, kasutades TheInstrRevStringFunction ()Dim väärtusÜks kui stringAlamstringi täisarvvalueOne = "See on tekst"positionofSubstring = InStrRev (valueOne, "Th")Silumine. Alamstringi trükkimise asukohtEnd Sub |
Tulemus väljastatakse kohe aknasse:
Funktsioon InstrRev tagastab alamstringi “Th” esimese esinemise positsiooni, kuid alustab loendamist lõpust, mis on 9. Pange tähele, et see funktsioon sisaldab loendis tühikuid.
Tühikute eemaldamine stringist
Stringifunktsioon VBA LTrim
Funktsioon VBA LTrim eemaldab tekstist või stringist kõik juhtivad tühikud. Struktuurifunktsiooni VBA LTrim süntaks on järgmine:
LTrim (string), kus:
- String - originaaltekst.
Järgmine kood näitab teile, kuidas kasutada funktsiooni VBA LTrim, et eemaldada antud stringist tühikud:
123456789101112 | Alam, kasutades TheLTrimStringFunction ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "See on veebisaidi aadress https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox valueOneMsgBox valueKaksEnd Sub |
Tulemused on järgmised:
Funktsioon LTrim on eemaldanud väärtetwo jaoks esimesed tühikud, mis on näidatud teises sõnumikastis.
Stringifunktsioon VBA RTrim
Funktsioon VBA RTrim eemaldab tekstist või stringist kõik lõppruumid. VBA RTrim stringifunktsiooni süntaks on järgmine:
RTrim (string), kus:
- String - originaaltekst.
Järgmine kood näitab teile, kuidas kasutada funktsiooni VBA RTrim, et eemaldada antud stringist tühikud:
123456789101112 | FunktsiooniRTrimStringFunktsioon ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "See on veebisaidi aadress https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox valueOneMsgBox valueKaksEnd Sub |
Esitatud tulemused on järgmised:
Funktsioon RTrim on eemaldanud väärtetwo jaoks tühikud, mis on näidatud teises sõnumikastis.
VBA kärpimisstringi funktsioon
VBA kärpimisfunktsioon eemaldab tekstist või stringist kõik esi- ja lõppruumid. VBA kärpimisstringi funktsiooni süntaks on järgmine:
Kärbi (string), kus:
- String - originaaltekst.
Järgmine kood näitab teile, kuidas kasutada VBA kärpimisfunktsiooni antud stringi esi- ja lõppruumi eemaldamiseks:
123456789101112 | Alam, kasutades funktsiooni TheTrimStringFunction ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "See on veebisaidi aadress https://easyexcel.net/excel/"valueTwo = kärpimine (valueOne)MsgBox valueOneMsgBox valueKaksEnd Sub |
Tulemused on järgmised:
Kärpimisfunktsioon on eemaldanud väärtetwo jaoks esi- ja lõppruumid, mis on näidatud teises sõnumikastis.
VBA korpuse funktsioonid
VBA LCase stringifunktsioon
Funktsioon VBA LCase teisendab teksti või stringi tähed väiketähtedeks. VBA LCase stringifunktsiooni süntaks on järgmine:
LCase (string), kus:
- String - originaaltekst.
Järgmine kood näitab teile, kuidas kasutada LCase stringifunktsiooni, et teisendada kõik antud stringi tähed väiketähtedeks:
1234567891011 | AlamkasutusTheLCaseStringFunction ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "SEE ON TOODE"valueTwo = LCase (valueOne)MsgBox valueKaksEnd Sub |
Tulemuseks on:
Funktsioon LCase on teisendanud kõik stringi tähed väiketähtedeks.
VBA UCase stringifunktsioon
Funktsioon VBA UCase teisendab teksti või stringi tähed suurtähtedeks. VBA UCase String Funktsiooni süntaks on järgmine:
UCase (string), kus:
- String - originaaltekst.
Järgmine kood näitab teile, kuidas kasutada UCase String funktsiooni, et teisendada kõik antud stringi tähed suurtähtedeks:
1234567891011 | Alam, kus kasutatakse funktsiooni TheUCaseStringFunction ()Dim väärtusÜks kui stringHämarda väärtus Kaks stringinavalueOne = "see on toode"valueTwo = UCase (valueOne)MsgBox valueKaksEnd Sub |
Tulemuseks on:
Funktsioon UCase on teisendanud kõik stringi tähed suurtähtedeks.
Funktsioon VBA StrConv
Funktsioon VBA StrConv võib teisendada teksti või stringi tähti suurtähtedeks, väiketähtedeks, suurtähtedeks või unikoodiks sõltuvalt teie määratud teisendustüübist. Stringifunktsiooni VBA StrConv süntaks on järgmine:
StrConv (string, teisendus, [LCID]), kus:
- String - originaaltekst.
- Konversioon - soovitud konversiooni tüüp.
- [LCID] (Valikuline) -Valikuline parameeter, mis määrab lokaadi ID. Kui see on tühi, kasutatakse süsteemi LocaleID.
Järgmine kood näitab teile, kuidas stringifunktsiooni StrConv abil stringi õigeks täheks teisendada:
1234567891011 | Alam, kasutades funktsiooni TheStrConvStringFunction ()Dim väärtusÜks kui stringHämarda väärtus Kaks stringinavalueOne = "see on toode"valueTwo = StrConv (valueOne, vbProperCase)MsgBox valueKaksEnd Sub |
Tulemuseks on:
Konversiooni parameetri abil saate määrata konversiooni tüübi.
- vbLowerCase teisendab kõik teksti tähed väiketähtedeks.
- vbUpperCase teisendab kõik teksti tähed suurtähtedeks.
- vbProperCase teisendab teksti iga sõna esimese tähe suurtähtedeks, ülejäänud tähed aga väiketähtedena.
- vbUnicode teisendab stringi unicode'iks.
- vbFromUnicode teisendab stringi Unicode'ist süsteemi vaikimisi koodileheks.
Stringide võrdlemine
Funktsioon VBA StrComp
Stringifunktsioon VBA StrComp võimaldab teil võrrelda kahte stringi. Funktsioon tagastab:
- 0, kui kaks stringi sobivad
- -1, kui string1 on väiksem kui string2
- 1, kui string1 on suurem kui string2
- Nullväärtus, kui kumbki stringidest oli Null
Järgmine kood näitab teile, kuidas kasutada funktsiooni StrComp kahe stringi võrdlemiseks:
123456789101112 | Alam, kasutades TheStrCompStringFunction ()Dim väärtusÜks kui stringDim väärtusKaks kui stringTulemus võrdluses täisarvunavalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (valueOne, valueTwo)Silumine. Võrdluse printimise tulemusEnd Sub |
Tulemuseks on:
Funktsioon StrComp on leidnud kahe stringi vahel täpse vaste ja tagastanud 0.
VBA meeldib operaator
VBA Like Operaator võimaldab teil teksti või stringi võrrelda mustriga ja vaadata, kas leidub vaste. Tavaliselt kasutaksite like -operaatorit koos metamärkidega. Järgmine kood näitab teile, kuidas kasutada sarnast operaatorit:
123456789101112 | AlamkasutusLikeOperatorInVBA ()Dim väärtusÜks kui stringvalueOne = "Vaatame väljundit"If valueOne Like "*view*" SiisMsgBox "Vaste on olemas, see string sisaldab sõna vaade"MuiduMsgBox "Vastet ei leitud"Lõpp KuiEnd Sub |
Tulemuseks on:
Metamärgid, mida saate koos Like -operaatoriga mustrivaste leidmiseks kasutada, on järgmised:
- ? mis vastab ühele tegelasele
- # mis vastab ühele numbrile
- * mis vastab null või enam tähemärki
Järgmine kood näitab teile, kuidas kasutaksite operaatorit Like ja? metamärk, mis vastab teie koodi mustrile:
123456789101112 | AlamkasutusLikeOperatorWithAWildcardInVBA ()Dim väärtusÜks kui stringvalueOne = "The"Kui väärtusÜks Nagu "?? e" SiisMsgBox "Vaste on olemas, leiti sobiv muster"MuiduMsgBox "Vastet ei leitud"Lõpp KuiEnd Sub |
Saadud tulemus on:
Muud kasulikud VBA stringifunktsioonid
VBA asendusstringi funktsioon
Funktsioon VBA asendab asendab stringi tähemärkide komplekti teise tähemärkide komplektiga. Funktsiooni VBA asendusstring süntaks on järgmine:
Asenda (String, Find, Replace, [Start], [Count], [Compare]) kus:
- String - originaaltekst.
- Leia - alamstring, mida originaaltekstist otsida.
- Asenda - alamstring, millega asendada alamstring Otsi.
- Alusta (Valikuline)- Positsioon otsingu alustamiseks algtekstist. Kui see on tühi, kasutatakse väärtust 1 ja funktsioon algab esimesest märgi kohast.
- Loend (Valikuline)- Asendatava alstringi esinemiste arv algtekstis. Kui see on tühi, asendatakse kõik alamstringi Find esinemised.
- Võrdlema (Valikuline)- See määrab võrdluse tüübi. Kui see on tühi, kasutatakse binaarset võrdlust.
-vbBinaryCompare - binaarne võrdlus
-vbTextCompare - tekstide võrdlus
-vbDatabaseCompare - Andmebaaside võrdlus (seda suvandit kasutatakse ainult Microsoft Accessis ja see on andmebaasil põhinev võrdlus.)
Järgmine kood näitab teile, kuidas kasutada funktsiooni Funktsiooni asendamine:
1234567891011 | Alam, kasutades funktsiooniReplaceStringFunction ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "ProductABC"valueTwo = Asenda (valueOne, "ABC", "XYZ")MsgBox valueKaksEnd Sub |
Tulemuseks on:
Funktsioon Asenda leidis ProductABC -st alamstringi ABC ja asendas selle alamstringiga XYZ.
Funktsioon VBA StrReverse
Funktsioon VBA StrReverse muudab antud teksti või stringi märgid vastupidiseks. VBA StrReverse String funktsiooni süntaks on järgmine:
StrReverse (string), kus:
- String - originaaltekst.
Järgmine kood näitab teile, kuidas kasutada funktsiooni VBA StrReverse, et stringi Product märke ümber pöörata:
1234567891011 | Alam, kasutades TheStrReverseStringFunction ()Dim väärtusÜks kui stringDim väärtusKaks kui stringvalueOne = "Toode"valueTwo = StrReverse (valueOne)MsgBox valueKaksEnd Sub |
Tulemuseks on:
VBA Len String funktsioon
Funktsioon VBA Len tagastab tekstistringi märkide arvu. VBA Len String funktsiooni süntaks on järgmine:
Len (string), kus:
- String - originaaltekst.
Järgmine kood näitab teile, kuidas kasutada funktsiooni String funktsiooni, et määrata stringi AutomateExcel pikkus:
1234567891011 | Alamfunktsioon TheLenFunction ()Dim väärtusÜks kui stringDim stringPikkus täisarvunavalueOne = "AutomateExcel"stringLength = Len (valueOne)Silumine. Prindi stringPikkusEnd Sub |
Tulemuseks on:
Funktsioon Len on lugenud kokku kõik tähemärgid tekstis AutomateExcel, mis koosneb 13 tähest.