Funkcie reťazcov a podreťazcov VBA

VBA má mnoho reťazcových funkcií, ktoré vám umožnia manipulovať a pracovať s textom a reťazcami vo vašom kóde. V tomto tutoriáli sa budeme zaoberať funkciami, ktoré vám umožnia extrahovať podreťazce z reťazcov, odstraňovať medzery z reťazcov, prevádzať prípad textu alebo reťazca, porovnávať reťazce a ďalšie užitočné funkcie reťazcov.

Extrahovanie podreťazca

Funkcia ľavého reťazca VBA

Ľavá funkcia VBA vám umožňuje extrahovať podreťazec z textu alebo reťazca začínajúc z ľavej strany. Syntax funkcie ľavého reťazca VBA je:

Vľavo (reťazec, počet_znakov), kde:

  • Reťazec - pôvodný text.
  • Počet_znakov - Celé číslo, ktoré určuje počet znakov, ktoré sa majú extrahovať z pôvodného textu, od začiatku.

Nasledujúci kód ukazuje, ako použiť funkciu ľavého reťazca na extrahovanie prvých štyroch znakov daného reťazca:

1234567891011 Podradené používanieTheLeftStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "AutomateExcel"valueTwo = vľavo (valueOne, 4)MsgBox valueTwoKoniec pod

Výsledkom je:

Funkcia vľavo extrahovala prvé štyri písmena programu AutomateExcel, ktoré sú automatické.

Funkcia pravého reťazca VBA

Správna funkcia VBA vám umožňuje extrahovať podreťazec z textu alebo reťazca začínajúc z pravej strany. Syntax funkcie pravého reťazca VBA je:

Vpravo (reťazec, počet_znakov), kde:

  • Reťazec - pôvodný text.
  • Počet_znakov - Celé číslo, ktoré určuje počet znakov, ktoré sa majú extrahovať z pôvodného textu, začínajúc od konca.

Nasledujúci kód ukazuje, ako použiť funkciu pravého reťazca na extrahovanie posledných štyroch znakov reťazca:

1234567891011 Podradené používanieTheRightStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "AutomateExcel"valueTwo = Right (valueOne, 4)MsgBox valueTwoKoniec pod

Výsledkom je:

Správna funkcia extrahovala posledné štyri písmena programu AutomateExcel, ktoré sú xcel.

Funkcia stredného reťazca VBA

Funkcia VBA Mid vám umožňuje extrahovať podreťazec z textu alebo reťazca, a to od ľubovoľnej pozície v reťazci, ktorý zadáte. Syntax funkcie stredného reťazca VBA je:

Stredný (reťazec, počiatočná_pozícia, [počet_charakterov]), kde:

  • Reťazec - pôvodný text.
  • Počiatočná pozícia - pozícia v pôvodnom texte, z ktorej sa funkcia začne extrahovať.
  • Počet_znakov (Voliteľné) - Celé číslo, ktoré určuje počet znakov, ktoré sa majú extrahovať z pôvodného textu, počnúc počiatočnou_pozíciou. Ak je prázdne, funkcia MID vráti všetky znaky z počiatočnej polohy.

Nasledujúci kód ukazuje, ako použiť funkciu stredného reťazca na extrahovanie štyroch znakov, počnúc druhou pozíciou alebo znakom v reťazci:

1234567891011 Podradené používanieTheMidStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "AutomateExcel"valueTwo = Mid (valueOne, 2, 4)MsgBox valueTwoKoniec pod

Výsledok sa zobrazí v msgboxe:

Stredná funkcia extrahovala štyri písmena programu AutomateExcel, počínajúc druhým znakom/polohou/písmenom, ktoré sú bežné.

Zistenie polohy podreťazca

Funkcia reťazca VBA Instr

Funkcia VBA Instr vracia počiatočnú pozíciu podreťazca v inom reťazci. Táto funkcia rozlišuje veľké a malé písmená. Syntax reťazcovej funkcie VBA Instr je:

Instr ([Štart], Reťazec, Podreťazec, [Porovnať]), kde:

  • Začať (Voliteľné) - Toto určuje počiatočnú pozíciu funkcie, z ktorej sa má hľadať. Ak je pole prázdne, použije sa predvolená hodnota 1.
  • Reťazec - pôvodný text.
  • Podreťazec- Podreťazec v pôvodnom texte, ktorého polohu chcete nájsť.
  • Porovnať (Voliteľné)- Toto určuje typ porovnávania, ktoré sa má vykonať. Ak je pole prázdne, použije sa binárne porovnanie.

-vbBinaryCompare - Binárne porovnanie (veľké a malé písmená sa považujú za odlišné)
-vbTextCompare - Porovnanie textu (veľké a malé písmená sa považujú za rovnaké)
-vbDatabaseCompare - Porovnanie databázy (Táto možnosť sa používa iba v programe Microsoft Access a je porovnaním na základe databázy)

Nasledujúci kód ukazuje, ako použiť funkciu reťazca Instr na určenie prvého výskytu podreťazca „Th“ v hlavnom reťazci:

123456789101112 Podradené používanieTheInstrStringFunction ()Dim valueOne As StringDim positionofSubstring As IntegervalueOne = "Toto je text"positionofSubstring = InStr (1, valueOne, "Th")Debug.Print position of SubstringKoniec pod

Výsledok (výstup do okamžitého okna) je:

Funkcia Instr vrátila pozíciu prvého výskytu podreťazca „Th“, ktorý je 1. Všimnite si, že táto funkcia obsahuje medzery v počte.

Funkcia reťazca VBA InstrRev

Funkcia VBA InstrRev vracia počiatočnú pozíciu podreťazca v inom reťazci, ale začína počítať pozíciu od konca reťazca. Táto funkcia rozlišuje veľké a malé písmena. Syntax reťazcovej funkcie VBA InstrRev je:

InstrRev (reťazec, podreťazec, [štart], [porovnať]), kde:

  • Reťazec - pôvodný text.
  • Podreťazec- Podreťazec v pôvodnom texte, ktorého polohu chcete nájsť.
  • Začať (Voliteľné) - Toto určuje pozíciu, od ktorej sa má začať hľadať. Ak je pole prázdne, funkcia začne hľadať od posledného znaku.
  • Porovnať (Voliteľné)- Toto určuje typ porovnávania, ktoré sa má vykonať. Ak je pole prázdne, použije sa binárne porovnanie.

-vbBinaryCompare - Binárne porovnanie (veľké a malé písmená sa považujú za odlišné)
-vbTextCompare - Porovnanie textu (veľké a malé písmená sa považujú za rovnaké)
-vbDatabaseCompare - Porovnanie databázy (Táto možnosť sa používa iba v programe Microsoft Access a je porovnaním na základe databázy)

Nasledujúci kód ukazuje, ako použiť funkciu reťazca InstrRev na určenie prvého výskytu podreťazca „Th“ v hlavnom reťazci, počnúc od konca reťazca:

1234567891011 Čiastkové používanieTheInstrRevStringFunction ()Dim valueOne As StringDim positionofSubstring As IntegervalueOne = "Toto je text"positionofSubstring = InStrRev (valueOne, "Th")Debug.Print position of SubstringKoniec pod

Výsledok sa zobrazí v okamžitom okne:

Funkcia InstrRev vrátila pozíciu prvého výskytu podreťazca „Th“, ale začína počítanie od konca, ktorý je 9. Všimnite si, že táto funkcia obsahuje medzery v počte.

Odstránenie medzier z reťazca

Funkcia reťazca VBA LTrim

Funkcia VBA LTrim odstráni z textu alebo reťazca všetky úvodné medzery. Syntax reťazcovej funkcie VBA LTrim je:

LTrim (reťazec), kde:

  • Reťazec - pôvodný text.

Nasledujúci kód ukazuje, ako použiť funkciu VBA LTrim na odstránenie úvodných medzier v danom reťazci:

123456789101112 Čiastkové používanieTheLTrimStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "Toto je dodatok k webovej stránke https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox hodnotaJednaMsgBox valueTwoKoniec pod

Výsledky sú tieto:

Funkcia LTrim odstránila úvodné medzery pre valuetwo, ktoré je zobrazené v druhom poli so správami.

Funkcia reťazca VBA RTrim

Funkcia VBA RTrim odstráni z textu alebo reťazca všetky koncové medzery. Syntax reťazcovej funkcie VBA RTrim je:

RTrim (reťazec), kde:

  • Reťazec - pôvodný text.

Nasledujúci kód ukazuje, ako použiť funkciu VBA RTrim na odstránenie koncových medzier v danom reťazci:

123456789101112 Podradené používanieTheRTrimStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "Toto je dodatok k webovej stránke https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox hodnotaJednaMsgBox valueTwoKoniec pod

Doručenými výsledkami sú:

Funkcia RTrim odstránila koncové medzery pre valuetwo, ktoré sú zobrazené v druhom poli so správami.

Funkcia skrátenia reťazca VBA

Funkcia orezania VBA odstráni z textu alebo reťazca všetky úvodné a koncové medzery. Syntax funkcie skrátenia reťazca VBA je:

Zostrihajte (reťazec), kde:

  • Reťazec - pôvodný text.

Nasledujúci kód ukazuje, ako použiť funkciu orezania VBA na odstránenie úvodných a koncových medzier v danom reťazci:

123456789101112 Vedľajšie používanieTheTrimStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "Toto je dodatok k webovej stránke https://easyexcel.net/excel/"valueTwo = Trim (valueOne)MsgBox hodnotaJednaMsgBox valueTwoKoniec pod

Výsledky sú tieto:

Funkcia orezania odstránila začiatočné a zadné medzery pre hodnotetwo, ktoré je zobrazené v druhom okne so správou.

Funkcie prípadu VBA

Funkcia reťazca VBA LCase

Funkcia VBA LCase prevádza písmená v texte alebo reťazci na malé písmená. Syntax funkcie reťazca VBA LCase je:

LCáza (reťazec), kde:

  • Reťazec - pôvodný text.

Nasledujúci kód ukazuje, ako pomocou funkcie LCase String previesť všetky písmená v danom reťazci na malé písmená:

1234567891011 Vedľajšie použitieTheLCaseStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "TOTO JE PRODUKT"valueTwo = LCase (valueOne)MsgBox valueTwoKoniec pod

Výsledkom je:

Funkcia LCase skonvertovala všetky písmená v reťazci na malé písmená.

Funkcia reťazca VBA UCase

Funkcia VBA UCase prevádza písmená v texte alebo reťazci na veľké písmená. Syntax reťazcovej funkcie VBA UCase je:

UCase (reťazec), kde:

  • Reťazec - pôvodný text.

Nasledujúci kód ukazuje, ako použiť funkciu reťazca UCase na prevod všetkých písmen v danom reťazci na veľké písmená:

1234567891011 Vedľajšie použitieTheUCaseStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "toto je produkt"valueTwo = UCase (valueOne)MsgBox valueTwoKoniec pod

Výsledkom je:

Funkcia UCase skonvertovala všetky písmená v reťazci na veľké písmená.

Funkcia VBA StrConv

Funkcia VBA StrConv môže prevádzať písmená v texte alebo reťazci na veľké písmena, malé písmená, vlastné písmená alebo unicode v závislosti od typu prevodu, ktorý zadáte. Syntax reťazcovej funkcie VBA StrConv je:

StrConv (reťazec, konverzia, [LCID]), kde:

  • Reťazec - pôvodný text.
  • Konverzia - požadovaný typ konverzie.
  • [LCID] (Voliteľné) -Voliteľný parameter, ktorý určuje LocaleID. Ak je pole prázdne, použije sa systémové LocaleID.

Nasledujúci kód ukazuje, ako použiť funkciu reťazca StrConv na konverziu reťazca na správne písmená:

1234567891011 Čiastkové používanieTheStrConvStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "toto je TEN výrobok"valueTwo = StrConv (valueOne, vbProperCase)MsgBox valueTwoKoniec pod

Výsledkom je:

Pomocou parametra konverzie určíte typ konverzie, ktorú chcete vykonať:

  • vbLowerCase prevádza všetky písmená v texte na malé písmená.
  • vbUpperCase prevádza všetky písmená v texte na veľké písmená.
  • vbProperCase prevádza prvé písmeno každého slova v texte na veľké písmená, pričom všetky ostatné písmena sú ponechané ako malé písmená.
  • vbUnicode prevádza reťazec na unicode.
  • vbFromUnicode prevádza reťazec z unicode na predvolenú kódovú stránku systému.

Porovnávanie strún

Funkcia VBA StrComp

Funkcia reťazca VBA StrComp vám umožňuje porovnať dva reťazce. Funkcia vracia:

  • 0, ak sa tieto dva reťazce zhodujú
  • -1, ak je reťazec1 menší ako reťazec2
  • 1, ak je reťazec1 väčší ako reťazec2
  • Hodnota null, ak jeden z reťazcov bol Null

Nasledujúci kód ukazuje, ako použiť funkciu StrComp na porovnanie dvoch reťazcov:

123456789101112 Čiastkové používanieTheStrCompStringFunction ()Dim valueOne As StringDim valueDwo As StringDim resultofPorovnanie ako celé číslovalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (valueOne, valueTwo)Debug.Print resumtofComparisonKoniec pod

Výsledkom je:

Funkcia StrComp našla presnú zhodu medzi týmito dvoma reťazcami a vrátila hodnotu 0.

Operátor ako VBA

Operátor typu VBA vám umožňuje porovnať text alebo reťazec so vzorom a zistiť, či existuje zhoda. Operátora Like by ste zvyčajne používali v spojení so zástupnými znakmi. Nasledujúci kód ukazuje, ako používať operátora Like:

123456789101112 Podradené používanieTheLikeOperatorInVBA ()Dim valueOne As StringvalueOne = "Pozrime sa na výstup"Ak valueOne Like „*zobraziť*“ PotomMsgBox „Existuje zhoda, tento reťazec obsahuje zobrazenie slova“InakMsgBox „Nebola nájdená žiadna zhoda“Koniec AkKoniec pod

Výsledkom je:

Medzi zástupné znaky, ktoré môžete použiť s operátorom Like na vyhľadanie zhody vzorov, patria:

  • ? ktorý zodpovedá jednému znaku
  • #, ktoré sa zhoduje s jednou číslicou
  • * ktorý zodpovedá nule alebo viac znakom

Nasledujúci kód vám ukáže, ako by ste používali operátora Like a operátor? zástupný znak, ktorý zodpovedá vzoru vo vašom kóde:

123456789101112 Čiastkové používanieTheLikeOperatorWithAWildcardInVBA ()Dim valueOne As StringvalueOne = "The"Ak valueOne Like "?? e" PotomMsgBox „Existuje zhoda, našiel sa zodpovedajúci vzor“InakMsgBox „Nebola nájdená žiadna zhoda“Koniec AkKoniec pod

Výsledkom je:

Ďalšie užitočné funkcie reťazca VBA

Funkcia nahradenia reťazca VBA

Funkcia nahradenia VBA nahradí množinu znakov v reťazci inou sadou znakov. Syntax funkcie nahradenia reťazca VBA je:

Nahradiť (Reťazec, Hľadať, Nahradiť, [Štart], [Počet], [Porovnať]) kde:

  • Reťazec - pôvodný text.
  • Hľadať - podreťazec, ktorý sa má hľadať v pôvodnom texte.
  • Nahradiť - podreťazec, ktorý má nahradiť podreťazec Hľadať.
  • Začať (Voliteľné)- Poloha, v ktorej môžete začať hľadať v pôvodnom texte. Ak je pole prázdne, použije sa hodnota 1 a funkcia sa spustí od prvého znaku.
  • Počítať (Voliteľné)- Počet výskytov podreťazca Hľadať v pôvodnom texte, ktorý sa má nahradiť. Ak je prázdny, nahradia sa všetky výskyty podreťazca Find.
  • Porovnať (Voliteľné)- Toto určuje typ porovnávania, ktoré sa má vykonať. Ak je pole prázdne, použije sa binárne porovnanie.

    -vbBinaryCompare - Binárne porovnanie
    -vbTextCompare - Porovnanie textu
    -vbDatabaseCompare - Porovnanie databázy (Táto možnosť sa používa iba v programe Microsoft Access a je porovnaním na základe databázy.)

Nasledujúci kód ukazuje, ako používať funkciu Nahradiť reťazec:

1234567891011 Podradené používanieTheReplaceStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "ProductABC"valueTwo = Nahradiť (valueOne, "ABC", "XYZ")MsgBox valueTwoKoniec pod

Výsledkom je:

Funkcia nahradenia našla podreťazec ABC v rámci ProductABC a nahradila ho podreťazcom XYZ.

Funkcia VBA StrReverse

Funkcia VBA StrReverse obráti znaky v danom texte alebo reťazci. Syntax reťazcovej funkcie VBA StrReverse je:

StrReverse (String) kde:

  • Reťazec - pôvodný text.

Nasledujúci kód ukazuje, ako použiť funkciu VBA StrReverse na obrátenie znakov v reťazci Produkt:

1234567891011 Čiastkové používanieTheStrReverseStringFunction ()Dim valueOne As StringDim valueDwo As StringvalueOne = "Produkt"valueTwo = StrReverse (valueOne)MsgBox valueTwoKoniec pod

Výsledkom je:

Funkcia reťazca VBA Len

Funkcia VBA Len vracia počet znakov v textovom reťazci. Syntax funkcie reťazca VBA Len je:

Len (reťazec), kde:

  • Reťazec - pôvodný text.

Nasledujúci kód ukazuje, ako použiť funkciu Len String na určenie dĺžky reťazca AutomateExcel:

1234567891011 Podradené používanieTheLenFunction ()Dim valueOne As StringDim stringLength As IntegervalueOne = "AutomateExcel"stringLength = Len (valueOne)Debug.Print stringLengthKoniec pod

Výsledkom je:

Funkcia Len spočítala všetky znaky v texte AutomateExcel, ktorý má 13 písmen.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave