VBA ima mnoge nizove funkcija koje će vam omogućiti manipulaciju i rad s tekstom i nizovima u vašem kodu. U ovom ćemo vodiču pokriti funkcije koje će vam omogućiti izdvajanje podnizova iz nizova, uklanjanje razmaka iz nizova, pretvaranje slova teksta ili niza, usporedbu nizova i drugih korisnih funkcija niza.
Izdvajanje podniz
VBA funkcija lijevog niza
VBA lijeva funkcija omogućuje vam izdvajanje podniz iz teksta ili niza koji počinje s lijeve strane. Sintaksa VBA funkcije lijevog niza je:
Lijevo (niz, broj_znakova) gdje:
- Niz - izvorni tekst.
- Broj_znakova - Cijeli broj koji navodi broj znakova za izdvajanje iz izvornog teksta počevši od početka.
Sljedeći kôd pokazuje vam kako koristiti funkciju lijevog niza za izdvajanje prva četiri znaka danog niza:
1234567891011 | Pod KorištenjeTheLeftStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Automatiziraj Excel"valueTwo = Lijevo (valueOne, 4)MsgBox valueTwoKraj podm |
Rezultat je:
Lijeva funkcija izdvojila je prva četiri slova AutomateExcel, a to su Automatski.
VBA funkcija desnog niza
Desna funkcija VBA omogućuje vam izdvajanje podniz iz teksta ili niza koji počinje s desne strane. Sintaksa VBA funkcije desnog niza je:
Desno (niz, broj_znakova) gdje:
- Niz - izvorni tekst.
- Broj_znakova - Cijeli broj koji navodi broj znakova za izdvajanje iz izvornog teksta počevši od završetka.
Sljedeći kôd pokazuje vam kako koristiti funkciju desnog niza za izdvajanje posljednja četiri znaka niza:
1234567891011 | Pod pomoćuTheRightStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Automatiziraj Excel"valueTwo = Desno (valueOne, 4)MsgBox valueTwoKraj podm |
Rezultat je:
Prava funkcija izdvojila je posljednja četiri slova AutomateExcel, a to su xcel.
VBA funkcija srednjeg niza
VBA srednja funkcija omogućuje vam izdvajanje podniz iz teksta ili niza, počevši od bilo koje pozicije unutar niza koju navedete. Sintaksa VBA funkcije srednjeg niza je:
Srednji (niz, početni_položaj, [broj_znakova]) gdje:
- Niz - izvorni tekst.
- Starting_position - Pozicija u izvornom tekstu, odakle će funkcija početi izdvajanje.
- Broj_znakova (Izborno) - Cijeli broj koji navodi broj znakova za izdvajanje iz izvornog teksta počevši od pozicije Starting_position. Ako je polje prazno, funkcija MID vratit će sve znakove s položaja Starting_position.
Sljedeći kôd pokazuje vam kako koristiti funkciju srednjeg niza za izdvajanje četiri znaka, počevši od druge pozicije ili znaka u nizu:
1234567891011 | Pod pomoćuTheMidStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Automatiziraj Excel"valueTwo = Mid (valueOne, 2, 4)MsgBox valueTwoKraj podm |
Rezultat se šalje u poruku:
Srednja funkcija izdvojila je četiri slova AutomateExcel -a počevši od drugog znaka/pozicije/slova koja su utom.
Pronalaženje položaja podniz
VBA Instr String funkcija
VBA Instr funkcija vraća početni položaj podniz u drugom nizu. Ova funkcija razlikuje mala i velika slova. Sintaksa VBA Instr String funkcije je:
Instr ([Start], String, Substring, [Usporedi]) gdje:
- Početak (Izborno) - Ovo određuje početni položaj za pretraživanje funkcije. Ako je polje prazno, koristi se zadana vrijednost 1.
- Niz - izvorni tekst.
- Podniz- Podniz u izvornom tekstu za koji želite pronaći položaj.
- Usporedi (Opcionalno)- Ovo određuje vrstu usporedbe koju treba napraviti. Ako je prazno, koristi se binarna usporedba.
-vbBinaryCompare - Binarna usporedba (velika i mala slova smatraju se različitim)
-vbTextCompare - Usporedba teksta (velika i mala slova smatraju se istim)
-vbDatabaseCompare - Usporedba baze podataka (Ova se opcija koristi samo u Microsoft Accessu i predstavlja usporedbu na temelju baze podataka)
Sljedeći kôd pokazuje kako koristiti funkciju nizova unosa za određivanje prvog pojavljivanja podniz "Th" unutar glavnog niza:
123456789101112 | Pod pomoćuTheInstrStringFunction ()Dim valueOne As StringZatamnite poziciju podniz kao cijeli brojvalueOne = "Ovo je tekst"positionofSubstring = InStr (1, valueOne, "Th")Otklanjanje pogrešaka. Ispis pozicije podnizKraj podm |
Rezultat (izlaz u neposredni prozor) je:
Funkcija Instr vratila je poziciju prvog pojavljivanja podniza "Th" koja je 1. Imajte na umu da ova funkcija uključuje razmake u odbrojavanju.
VBA InstrRev niz funkcija
VBA InstrRev funkcija vraća početni položaj podniz u drugom nizu, ali počinje brojati poziciju, od kraja niza. Ova funkcija razlikuje mala i velika slova. Sintaksa VBA InstrRev string funkcije je:
InstrRev (String, Substring, [Start], [Usporedi]) gdje:
- Niz - izvorni tekst.
- Podniz- Podniz u izvornom tekstu za koji želite pronaći položaj.
- Početak (Izborno) - Ovo određuje poziciju s koje možete započeti pretraživanje. Ako je polje prazno, funkcija počinje tražiti od posljednjeg znaka.
- Usporedi (Opcionalno)- Ovo određuje vrstu usporedbe koju treba napraviti. Ako je prazno, koristi se binarna usporedba.
-vbBinaryCompare - Binarna usporedba (velika i mala slova smatraju se različitim)
-vbTextCompare - Usporedba teksta (velika i mala slova smatraju se istim)
-vbDatabaseCompare - Usporedba baze podataka (Ova se opcija koristi samo u Microsoft Accessu i predstavlja usporedbu na temelju baze podataka)
Sljedeći kôd pokazuje vam kako koristiti InstrRev niz funkcija za određivanje prvog pojavljivanja podniz "Th" unutar glavnog niza, počevši od kraja niza:
1234567891011 | Pod KorištenjeTheInstrRevStringFunction ()Dim valueOne As StringZatamnite poziciju podniz kao cijeli brojvalueOne = "Ovo je tekst"positionofSubstring = InStrRev (valueOne, "Th")Otklanjanje pogrešaka. Ispis pozicije podnizKraj podm |
Rezultat se šalje u neposredni prozor:
Funkcija InstrRev vratila je poziciju prvog pojavljivanja podniza "Th", ali počinje brojanje s kraja koji je 9. Imajte na umu da ova funkcija uključuje razmake u odbrojavanju.
Uklanjanje razmaka iz niza
Nizna funkcija VBA LTrim
VBA LTrim funkcija uklanja sve vodeće razmake iz teksta ili niza. Sintaksa VBA LTrim string funkcije je:
LTrim (niz) gdje:
- Niz - izvorni tekst.
Sljedeći kôd prikazuje kako se pomoću VBA LTrim funkcije uklanjaju vodeći razmaci u danom nizu:
123456789101112 | Pod pomoću THELTrimStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Ovo je adresa web stranice https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox valueOneMsgBox valueTwoKraj podm |
Rezultati su sljedeći:
Funkcija LTrim uklonila je vodeće prostore za valuetwo, što je prikazano u drugom okviru za poruke.
Nizna funkcija VBA RTrim
VBA RTrim funkcija uklanja sve krajnje razmake iz teksta ili niza. Sintaksa VBA RTrim string funkcije je:
RTrim (niz) gdje:
- Niz - izvorni tekst.
Sljedeći kôd pokazuje kako koristiti funkciju VBA RTrim za uklanjanje zaostalih razmaka u danom nizu:
123456789101112 | Pod pomoću THERTrimStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Ovo je adresa web stranice https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox valueOneMsgBox valueTwoKraj podm |
Dostavljeni rezultati su:
Funkcija RTrim uklonila je krajnje razmake za valuetwo, koji je prikazan u drugom okviru za poruku.
VBA funkcija obrezivanja niza
VBA Trim funkcija uklanja sve vodeće i krajnje razmake iz teksta ili niza. Sintaksa VBA Trim String funkcije je:
Trim (niz) gdje:
- Niz - izvorni tekst.
Sljedeći kôd prikazuje kako se pomoću funkcije VBA Trim uklanjaju početni i krajnji razmaci u danom nizu:
123456789101112 | Pod pomoću TheTrimStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Ovo je adresa web stranice https://easyexcel.net/excel/"valueTwo = Trim (valueOne)MsgBox valueOneMsgBox valueTwoKraj podm |
Rezultati su sljedeći:
Funkcija obrezivanja uklonila je početni i zadnji razmak za valuetwo, koji je prikazan u drugom okviru za poruku.
VBA funkcije kućišta
VBA LCase niz funkcija
VBA LCase funkcija pretvara slova u tekstu ili nizu u mala slova. Sintaksa VBA LCase funkcije niza je:
LCase (niz) gdje:
- Niz - izvorni tekst.
Sljedeći kôd pokazuje vam kako koristiti funkciju nizova LCase za pretvaranje svih slova u danom nizu u mala slova:
1234567891011 | Pod pomoću THELCaseStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Ovo je proizvod"valueTwo = LCase (valueOne)MsgBox valueTwoKraj podm |
Rezultat je:
Funkcija LCase pretvorila je sva slova u nizu u mala slova.
VBA UCase niz funkcija
VBA UCase funkcija pretvara slova u tekstu ili nizu u velika slova. Sintaksa VBA UCase string funkcije je:
UCase (niz) gdje:
- Niz - izvorni tekst.
Sljedeći kôd pokazuje vam kako koristiti funkciju nizova UCase za pretvaranje svih slova u danom nizu u velika slova:
1234567891011 | Pod pomoću THEUCaseStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "ovo je proizvod"valueTwo = UCase (valueOne)MsgBox valueTwoKraj podm |
Rezultat je:
UCase funkcija pretvorila je sva slova u nizu u velika slova.
VBA StrConv funkcija
VBA StrConv funkcija može pretvoriti slova u tekstu ili nizu u velika, mala slova, odgovarajuća slova ili unicode ovisno o vrsti pretvorbe koju navedete. Sintaksa VBA StrConv string funkcije je:
StrConv (String, Conversion, [LCID]) gdje:
- Niz - izvorni tekst.
- Konverzija - Vrsta konverzije koju želite.
- [LCID] (Izborno) -Opcijski parametar koji navodi LocaleID. Ako je prazno, koristi se LocaleID sustava.
Sljedeći kôd prikazuje kako se pomoću funkcije StrConv String pretvara niz u odgovarajuća slova:
1234567891011 | Pod pomoću TheStrConvStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "ovo je proizvod"valueTwo = StrConv (valueOne, vbProperCase)MsgBox valueTwoKraj podm |
Rezultat je:
Pomoću parametra pretvorbe određujete vrstu pretvorbe koju želite izvesti:
- vbLowerCase pretvara sva slova u tekstu u mala slova.
- vbUpperCase pretvara sva slova u tekstu u velika slova.
- vbProperCase pretvara prvo slovo svake riječi u tekstu u velika slova, dok se sva druga slova vode kao mala slova.
- vbUnicode pretvara niz u unicode.
- vbFromUnicode pretvara niz iz unicode u zadanu kodnu stranicu sustava.
Usporedba žica
VBA StrComp funkcija
VBA StrComp niz funkcija omogućuje usporedbu dva niza. Funkcija vraća:
- 0 ako se dva niza podudaraju
- -1 ako je string1 manji od string2
- 1 ako je niz1 veći od niza2
- Nulta vrijednost ako je bilo koji niz znakova Null
Sljedeći kôd prikazuje kako upotrijebiti funkciju StrComp za usporedbu dva niza:
123456789101112 | Pod pomoću TheStrCompStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizSlab rezultat usporedbe kao cijeli brojvalueOne = "Automatiziraj Excel"valueTwo = "Automatiziraj Excel"rezultatComparison = StrComp (valueOne, valueTwo)Otklanjanje pogrešaka. Ispis rezultata usporedbeKraj podm |
Rezultat je:
Funkcija StrComp pronašla je točno podudaranje između dva niza i vratila 0.
Operater poput VBA
VBA Like Operator omogućuje vam da usporedite tekst ili niz s uzorkom i vidite postoji li podudaranje. Obično biste operater Like koristili zajedno sa zamjenskim znakovima. Sljedeći kôd prikazuje kako se koristi operater Like.
123456789101112 | Pod pomoću TheLikeOperatorInVBA ()Dim valueOne As StringvalueOne = "Pogledajmo izlaz"Ako valueOne Like "*view*" OndaMsgBox "Postoji podudaranje, ovaj niz sadrži riječ prikaz"DrugoMsgBox "Nije pronađeno podudaranje"Završi akoKraj podm |
Rezultat je:
Zamjenski znakovi koje možete koristiti s operatorom Sviđa za pronalaženje podudaranja uzoraka uključuju:
- ? koji odgovara jednom znaku
- # koji se podudara s jednom znamenkom
- * koji odgovara nuli ili više znakova
Sljedeći kôd pokazuje kako biste koristili operator "Sviđa mi se" i? zamjenski znak koji odgovara uzorku u vašem kodu:
123456789101112 | Pod pomoću TheLikeOperatorWithAWildcardInVBA ()Dim valueOne As StringvalueOne = "The"Ako valueOne Like "?? e" OndaMsgBox "Postoji podudaranje, pronađen je odgovarajući uzorak"DrugoMsgBox "Nije pronađeno podudaranje"Završi akoKraj podm |
Dostavljeni rezultat je:
Ostale korisne VBA nizove funkcija
VBA funkcija zamjene niza
Funkcija zamjene VBA zamjenjuje skup znakova u nizu drugim skupom znakova. Sintaksa VBA Replace String funkcije je:
Zamijeni (String, Find, Replace, [Start], [Count], [Compare]) gdje:
- Niz - izvorni tekst.
- Nađi - podniz za traženje unutar izvornog teksta.
- Zamijeni - podniz kojim želite zamijeniti podniz Find.
- Početak (Opcionalno)- Položaj za početak pretraživanja unutar izvornog teksta. Ako je prazno, koristi se vrijednost 1 i funkcija počinje na mjestu prvog znaka.
- Broji (Opcionalno)- Broj pojavljivanja podniza Find u izvornom tekstu koji treba zamijeniti. Ako je prazno, zamjenjuju se sva pojavljivanja podnizaja Find.
- Usporedi (Opcionalno)- Ovo određuje vrstu usporedbe koju treba napraviti. Ako je prazno, koristi se binarna usporedba.
-vbBinaryCompare - Binarna usporedba
-vbTextCompare - Usporedba teksta
-vbDatabaseCompare - Usporedba baze podataka (Ova se opcija koristi samo u Microsoft Accessu i usporedba je na temelju baze podataka.)
Sljedeći kôd pokazuje kako se koristi funkcija Zamijeni niz:
1234567891011 | Pod PomoćuReplaceStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "ProductABC"valueTwo = Zamijeni (valueOne, "ABC", "XYZ")MsgBox valueTwoKraj podm |
Rezultat je:
Funkcija zamjene pronašla je podniz ABC unutar ProductABC -a i zamijenila ga podnizom XYZ.
VBA StrRever funkcija
VBA StrReverse funkcija obrće znakove u danom tekstu ili nizu. Sintaksa VBA StrReverse string funkcije je:
StrReverse (niz) gdje:
- Niz - izvorni tekst.
Sljedeći kôd pokazuje kako koristiti funkciju VBA StrReverse za poništavanje znakova u nizu Proizvod:
1234567891011 | Pod pomoću TheStrReverseStringFunction ()Dim valueOne As StringZatamnjena vrijednostDva kao nizvalueOne = "Proizvod"valueTwo = StrReverse (valueOne)MsgBox valueTwoKraj podm |
Rezultat je:
Nizna funkcija VBA Len
VBA Len funkcija vraća broj znakova u tekstualnom nizu. Sintaksa VBA Len string funkcije je:
Len (niz) gdje:
- Niz - izvorni tekst.
Sljedeći kôd pokazuje vam kako koristiti Len niz funkciju za određivanje duljine niza AutomateExcel:
1234567891011 | Pod KorištenjeTheLenFunction ()Dim valueOne As StringDim stringLength As IntegervalueOne = "Automatiziraj Excel"stringLength = Len (valueOne)Debug.Print stringLengthKraj podm |
Rezultat je:
Funkcija Len prebrojila je sve znakove u tekstu AutomateExcel, koji ima 13 slova.