VBA stringide ja alamstringide funktsioonid

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.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave