Funcții VBA Strings și Substrings

VBA are multe funcții de șiruri care vă vor permite să manipulați și să lucrați cu text și șiruri în cod. În acest tutorial, vom acoperi funcții care vă vor permite să extrageți șiruri de caractere din șiruri, să eliminați spații din șiruri, să convertiți majusculele unui text sau șir, să comparați șirurile și alte funcții utile ale șirurilor.

Extragerea unui subșir

Funcția VBA String Left

Funcția VBA Stânga vă permite să extrageți un șir dintr-un text sau un șir începând din partea stângă. Sintaxa funcției VBA String Left este:

Stânga (Șir, Num_de_caractere) unde:

  • Șir - Textul original.
  • Num_de_caractere - Un număr întreg care specifică numărul de caractere de extras din textul original începând de la început.

Următorul cod vă arată cum să utilizați funcția de șir de stânga pentru a extrage primele patru caractere ale șirului dat:

1234567891011 Sub UsingTheLeftStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "AutomateExcel"valueTwo = Left (valueOne, 4)MsgBox valueTwoSfârșitul Sub

Rezultatul este:

Funcția Stânga a extras primele patru litere ale AutomateExcel, care sunt Auto.

Funcția VBA Right String

Funcția VBA Right vă permite să extrageți un șir dintr-un text sau un șir începând din partea dreaptă. Sintaxa funcției VBA Right String este:

Dreapta (Șir, Num_de_caractere) unde:

  • Șir - Textul original.
  • Num_de_caractere - Un număr întreg care specifică numărul de caractere de extras din textul original începând de la final.

Următorul cod vă arată cum să utilizați funcția de șir dreapta pentru a extrage ultimele patru caractere ale șirului:

1234567891011 Sub Utilizarea TheRightStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "AutomateExcel"valueTwo = Right (valueOne, 4)MsgBox valueTwoSfârșitul Sub

Rezultatul este:

Funcția corectă a extras ultimele patru litere ale AutomateExcel, care sunt xcel.

Funcția VBA Mid String

Funcția VBA Mid vă permite să extrageți un șir dintr-un text sau un șir, începând din orice poziție din șirul specificat de dvs. Sintaxa funcției VBA Mid String este:

Mid (String, Starting_position, [Num_of_characters]) unde:

  • Șir - Textul original.
  • Poziție_de pornire - Poziția din textul original, de unde funcția va începe să se extragă.
  • Num_of_characters (Opțional) - Un număr întreg care specifică numărul de caractere de extras din textul inițial începând din poziția Start_. Dacă este necompletat, funcția MID va returna toate caracterele din poziția_incepere.

Următorul cod vă arată cum să utilizați funcția Mid String pentru a extrage patru caractere, începând de la a doua poziție sau caracter din șir:

1234567891011 Sub UsingTheMidStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "AutomateExcel"valueTwo = Mid (valueOne, 2, 4)MsgBox valueTwoSfârșitul Sub

Rezultatul este trimis într-un msgbox:

Funcția Mid a extras cele patru litere ale AutomateExcel începând de la al doilea caracter / poziție / literă care sunt utom.

Găsirea poziției unui șir

Funcția VBA Instr String

Funcția VBA Instr returnează poziția inițială a unui șir în cadrul unui alt șir. Această funcție este sensibilă la majuscule și minuscule. Sintaxa funcției VBA Instr String este:

Instr ([Start], String, Substring, [Compare]) unde:

  • Start (Opțional) - Aceasta specifică poziția de pornire pentru funcția de căutare. Dacă este necompletat, se folosește valoarea implicită 1.
  • Șir - Textul original.
  • Substring- Șirul din textul original în care doriți să găsiți poziția.
  • Comparați (Opțional)- Aceasta specifică tipul de comparație de făcut. Dacă este necompletat, se utilizează comparația binară.

-vbBinaryCompare - Comparație binară (litere mari și mici sunt considerate diferite)
-vbTextCompare - Compararea textului (litere mari și mici sunt considerate la fel)
-vbDatabaseCompare - Compararea bazei de date (Această opțiune este utilizată numai în Microsoft Access și este o comparație bazată pe baza de date)

Următorul cod vă arată cum să utilizați funcția Instr String pentru a determina prima apariție a șirului „Th” din șirul principal:

123456789101112 Sub UsingTheInstrStringFunction ()Dim valueOne As StringPoziția slabă a șirului ca întregvalueOne = "Acesta este textul"positionofSubstring = InStr (1, valueOne, "Th")Debug.Printați pozițiaSubstringSfârșitul Sub

Rezultatul (trimis în fereastra imediată) este:

Funcția Instr a returnat poziția primei apariții a șirului „Th” care este 1. Rețineți că această funcție include spațiile din numărare.

Funcția VBA InstrRev String

Funcția VBA InstrRev returnează poziția inițială a unui șir în cadrul unui alt șir, dar începe să numere poziția, de la sfârșitul șirului. Această funcție este sensibilă la majuscule și minuscule. Sintaxa funcției VBA InstrRev String este:

InstrRev (String, Substring, [Start], [Compare]) unde:

  • Șir - Textul original.
  • Substring- Șirul din textul original în care doriți să găsiți poziția.
  • Start (Opțional) - Aceasta specifică poziția din care începeți căutarea. Dacă este necompletat, funcția începe să caute de la ultimul caracter.
  • Comparați (Opțional)- Aceasta specifică tipul de comparație de făcut. Dacă este necompletat, se utilizează comparația binară.

-vbBinaryCompare - Comparație binară (litere mari și mici sunt considerate diferite)
-vbTextCompare - Compararea textului (litere mari și mici sunt considerate la fel)
-vbDatabaseCompare - Compararea bazei de date (Această opțiune este utilizată numai în Microsoft Access și este o comparație bazată pe baza de date)

Următorul cod vă arată cum să utilizați funcția de șir InstrRev pentru a determina prima apariție a șirului „Th” din șirul principal, începând de la sfârșitul șirului:

1234567891011 Sub UsingTheInstrRevStringFunction ()Dim valueOne As StringPoziția slabă a șirului ca întregvalueOne = "Acesta este textul"positionofSubstring = InStrRev (valueOne, "Th")Debug.Printați poziția substratuluiSfârșitul Sub

Rezultatul este trimis în fereastra imediată:

Funcția InstrRev a returnat poziția primei apariții a șirului „Th”, dar începând numărarea de la sfârșitul care este 9. Rețineți că această funcție include spațiile din numărare.

Eliminarea spațiilor dintr-un șir

Funcția VBA LTrim String

Funcția VBA LTrim elimină toate spațiile principale dintr-un text sau un șir. Sintaxa funcției VBA LTrim String este:

LTrim (String) unde:

  • Șir - Textul original.

Următorul cod vă arată cum să utilizați funcția VBA LTrim pentru a elimina spațiile principale din șirul dat:

123456789101112 Sub Utilizarea TheLTrimStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "Acesta este site-ul adddress https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox valueOneMsgBox valueTwoSfârșitul Sub

Rezultatele sunt:

Funcția LTrim a eliminat spațiile principale pentru valoarea doi, care este afișat în a doua casetă de mesaje.

Funcția VBA RTrim String

Funcția VBA RTrim elimină toate spațiile finale dintr-un text sau un șir. Sintaxa funcției VBA RTrim String este:

RTrim (String) unde:

  • Șir - Textul original.

Următorul cod vă arată cum să utilizați funcția VBA RTrim pentru a elimina spațiile finale din șirul dat:

123456789101112 Sub Utilizarea TheRTrimStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "Acesta este site-ul adddress https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox valueOneMsgBox valueTwoSfârșitul Sub

Rezultatele livrate sunt:

Funcția RTrim a eliminat spațiile finale pentru valoarea doi, care este afișat în a doua casetă de mesaje.

Funcția VBA Trim String

Funcția VBA Trim elimină toate spațiile de la început și de la un text sau un șir. Sintaxa funcției VBA Trim String este:

Decupați (șir) unde:

  • Șir - Textul original.

Următorul cod vă arată cum să utilizați funcția VBA Trim pentru a elimina spațiile din partea de sus și din spatele șirului dat:

123456789101112 Sub UsingTheTrimStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "Acesta este site-ul adddress https://easyexcel.net/excel/"valueTwo = Trim (valueOne)MsgBox valueOneMsgBox valueTwoSfârșitul Sub

Rezultatele sunt:

Funcția Trim a eliminat spațiile de conducere și de sfârșit pentru valoarea doi, care este afișat în a doua casetă de mesaje.

Funcții de caz VBA

Funcția VBA LCase String

Funcția VBA LCase convertește literele într-un text sau un șir în minuscule. Sintaxa funcției VBA LCase String este:

LCase (String) unde:

  • Șir - Textul original.

Următorul cod vă arată cum să utilizați funcția șir LCase pentru a converti toate literele din șirul dat cu litere mici:

1234567891011 Sub Utilizarea TheLCaseStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "Acesta este produsul"valueTwo = LCase (valueOne)MsgBox valueTwoSfârșitul Sub

Rezultatul este:

Funcția LCase a convertit toate literele din șir în minuscule.

Funcția VBA UCase String

Funcția VBA UCase convertește literele într-un text sau un șir în majuscule. Sintaxa funcției VBA UCase String este:

UCase (String) unde:

  • Șir - Textul original.

Următorul cod vă arată cum să utilizați UCase String Function pentru a converti toate literele din șirul dat în majuscule:

1234567891011 Sub Utilizarea TheUCaseStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "acesta este produsul"valueTwo = UCase (valueOne)MsgBox valueTwoSfârșitul Sub

Rezultatul este:

Funcția UCase a convertit toate literele din șir în majuscule.

Funcția VBA StrConv

Funcția VBA StrConv poate converti literele dintr-un text sau un șir în majuscule, minuscule, minuscule sau unicode în funcție de tipul de conversie pe care îl specificați. Sintaxa funcției VBA StrConv String este:

StrConv (String, Conversion, [LCID]) unde:

  • Șir - Textul original.
  • Conversie - Tipul de conversie dorit.
  • [LCID] (Opțional) -Un parametru opțional care specifică LocaleID. Dacă este necompletat, se utilizează sistemul LocaleID.

Următorul cod vă arată cum să utilizați Funcția StrConv String pentru a converti șirul la majuscule:

1234567891011 Sub Utilizarea TheStrConvStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "acesta este produsul"valueTwo = StrConv (valueOne, vbProperCase)MsgBox valueTwoSfârșitul Sub

Rezultatul este:

Specificați tipul de conversie pe care doriți să îl efectuați utilizând parametrul de conversie:

  • vbLowerCase convertește toate literele din text în minuscule.
  • vbUpperCase convertește toate literele din text în majuscule.
  • vbProperCase convertește prima literă a fiecărui cuvânt din text în litere mari, în timp ce toate celelalte litere sunt păstrate ca minuscule.
  • vbUnicode convertește un șir în unicode.
  • vbFromUnicode convertește un șir de la unicode la pagina de cod implicită a sistemului.

Compararea șirurilor

Funcția VBA StrComp

Funcția VBA StrComp String vă permite să comparați două șiruri. Funcția returnează:

  • 0 dacă cele două corzi se potrivesc
  • -1 dacă șirul1 este mai mic decât șirul2
  • 1 dacă șirul1 este mai mare decât șirul2
  • O valoare nulă dacă oricare dintre șiruri a fost Nulă

Următorul cod vă arată cum să utilizați Funcția StrComp pentru a compara două șiruri:

123456789101112 Sub Utilizarea TheStrCompStringFunction ()Dim valueOne As StringValoare dim Două șirReduceți rezultatul comparării ca întregvalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (valueOne, valueTwo)Debug.Printa rezultatul de comparareSfârșitul Sub

Rezultatul este:

Funcția StrComp a găsit o potrivire exactă între cele două șiruri și a returnat 0.

VBA Like Operator

Operatorul VBA Like vă permite să comparați un text sau un șir cu un model și să vedeți dacă există o potrivire. De obicei, veți folosi Like Operator împreună cu metacaracterele. Următorul cod vă arată cum să utilizați Like Operator:

123456789101112 Sub Utilizarea TheLikeOperatorInVBA ()Dim valueOne As StringvalueOne = "Să vedem rezultatul"Dacă valueOne Like "* vizualizare *" AtunciMsgBox "Există o potrivire, acest șir conține vizualizarea cuvântului"AltfelMsgBox „Nu s-a găsit nicio potrivire”End IfSfârșitul Sub

Rezultatul este:

Jokerurile pe care le puteți folosi cu Like Operator pentru a găsi potriviri de tipare includ:

  • ? care se potrivește cu un singur caracter
  • # care se potrivește cu o singură cifră
  • * care se potrivește cu zero sau mai multe caractere

Următorul cod vă arată cum ați folosi Like Operator și? wildcard pentru a se potrivi cu un model din codul dvs.:

123456789101112 Sub Utilizarea TheLikeOperatorWithAWildcardInVBA ()Dim valueOne As StringvalueOne = "The"Dacă valueOne Like "?? e" AtunciMsgBox "Există o potrivire, a fost găsit un model de potrivire"AltfelMsgBox „Nu s-a găsit nicio potrivire”End IfSfârșitul Sub

Rezultatul livrat este:

Alte funcții utile ale șirurilor VBA

Funcția VBA Replace String

Funcția de înlocuire VBA înlocuiește un set de caractere dintr-un șir cu un alt set de caractere. Sintaxa funcției VBA Replace String este:

Înlocuiți (Șir, Găsiți, Înlocuiți, [Start], [Număr], [Compara]) unde:

  • Șir - Textul original.
  • Găsire - Șirul de căutare din textul original.
  • Înlocuiți - Sub șirul cu care înlocuiți șirul.
  • Start (Opțional)- Poziția de a începe căutarea din textul original. Dacă este necompletat, se utilizează valoarea 1 și funcția începe de la prima poziție de caractere.
  • Numara (Opțional)- Numărul de apariții al șirului de căutare din textul original de înlocuit. Dacă este necompletat, toate aparițiile subșirului Găsiți sunt înlocuite.
  • Comparați (Opțional)- Aceasta specifică tipul de comparație de făcut. Dacă este necompletat, se utilizează comparația binară.

    -vbBinaryCompare - Comparație binară
    -vbTextCompare - Compararea textului
    -vbDatabaseCompare - Compararea bazei de date (Această opțiune este utilizată numai în Microsoft Access și este o comparație bazată pe baza de date.)

Următorul cod vă arată cum să utilizați funcția de înlocuire a șirului:

1234567891011 Sub Utilizarea TheReplaceStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "ProductABC"valueTwo = Înlocuire (valueOne, "ABC", "XYZ")MsgBox valueTwoSfârșitul Sub

Rezultatul este:

Funcția de înlocuire a găsit șirul ABC în cadrul ProductABC și l-a înlocuit cu șirul XYZ.

Funcția VBA StrReverse

Funcția VBA StrReverse inversează caracterele dintr-un anumit text sau șir. Sintaxa funcției VBA StrReverse String este:

StrReverse (String) unde:

  • Șir - Textul original.

Următorul cod vă arată cum să utilizați funcția VBA StrReverse pentru a inversa caracterele din șirul Produs:

1234567891011 Sub Utilizarea TheStrReverseStringFunction ()Dim valueOne As StringValoare dim Două șirvalueOne = "Produs"valueTwo = StrReverse (valueOne)MsgBox valueTwoSfârșitul Sub

Rezultatul este:

Funcția VBA Len String

Funcția VBA Len returnează numărul de caractere dintr-un șir de text. Sintaxa funcției VBA Len String este:

Len (String) unde:

  • Șir - Textul original.

Următorul cod vă arată cum să utilizați funcția Len String pentru a determina lungimea șirului AutomateExcel:

1234567891011 Sub Utilizarea TheLenFunction ()Dim valueOne As StringDim șir Lungime ca întregvalueOne = "AutomateExcel"stringLength = Len (valueOne)Debug.Print stringLengthSfârșitul Sub

Rezultatul este:

Funcția Len a numărat toate caracterele din textul AutomateExcel, adică 13 litere.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave