VBA SubString - Cum se extrage Substring folosind funcțiile VBA?

Excel SubString VBA

SubString este o parte a șirului sau a porțiunii sau caracterul șirului se numește „SubString”. Există trei tipuri de funcții de șir în VBA STÂNGA, DREAPTA și MID, acestea sunt similare cu șirurile de foi de lucru din Excel.

Un șir nu este altceva decât o serie de caractere, iar caracterele ar putea fi alfabete, numere, caractere speciale și, de asemenea, pot combina toate acestea.

De multe ori în Excel, când lucrăm cu date, care este șirul, trebuie să obținem doar porțiunea șirului pentru a ne facilita scopul. Este posibil să nu avem nevoie de șirul complet pentru a fi utilizat, dar avem nevoie doar de partea șirului pentru utilizarea noastră. De exemplu, dacă aveți numele „Sachin Tendulkar”, este posibil să aveți nevoie doar de prima parte a numelui, adică doar „Sachin”. Aceasta se numește sub-șir al șirului în Excel VBA. Pentru a face față acestor șiruri, avem funcții încorporate sub funcția TEXT din categoria excel.

În acest articol, vom discuta despre cum să obțineți șirul din șirul complet din VBA.

Cum se utilizează funcțiile SubString în VBA?

Pentru a extrage șirul de caractere din șir, avem unele dintre funcțiile de text încorporate, iar unele dintre funcțiile importante sunt LEFT, RIGHT, INSTR și MID în excel. Funcția Instr va servi ca funcție de sprijin pentru celelalte trei funcții.

Vom vedea cum să folosim aceste funcții pentru a extrage practic șirurile. Citiți exemplele de mai jos pentru a le înțelege.

Exemplul # 1 - Utilizarea funcției stânga

Dacă aveți numele complet ca „Sachin Tendulkar” și aveți nevoie doar de prenumele pentru a fi extras ca șir, utilizați următorul cod pentru a obține același lucru.

Pasul 1: Creați un nume de macro și definiți două variabile ca Șir.

Cod:

Sub SubString_Example1 () Dim FullName as String Dim FirstName As String End Sub

Pasul 2: Acum atribuiți numele „Sachin Tendulkar” variabilei FullName .

Cod:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" End Sub

Pasul 3: Acum, variabila FullName deține valoarea „Sachin Tendulkar”. Acum trebuie să extragem șirul VBA excel al prenumelui din numele complet. Deci, atribuiți valoarea variabilei FirstName prin funcția STÂNGA.

Cod:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (End Sub

Pasul 4: primul argument al funcției VBA LEFT este String; aceasta este valoarea completă sau șirul complet. În acest exemplu, valoarea sau șirul nostru complet este „Sachin Tendulkar”, care este atribuit variabilei FullName.

Deci, furnizați variabila FullName ca argument.

Cod:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left End Sub

Pasul 5: Următorul argument este de câte caractere avem nevoie din șirul pe care l-am furnizat, așa că, în acest caz, avem nevoie de prenumele „ Sachin ”, deci în totalitate, avem nevoie de 6 caractere din partea stângă.

Cod:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub

Pasul 6: Afișați acum rezultatul într-o casetă de mesaje în VBA.

Cod:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) MsgBox FirstName End Sub

Pasul 7: Rulați macrocomanda vedeți prenumele ca un șir în caseta de mesaj.

Exemplul # 2 - Obțineți SubString din dreapta

La fel cum am extras subcordul din stânga în mod similar, putem extrage și din dreapta. Luați același nume ca exemplu.

Pasul 1: definiți două variabile ca Șir.

Cod:

Sub SubString_Example2 () Dim FullName as String Dim LastName As String End Sub

Pasul 2: Ca de obicei, atribuiți valoarea variabilei FullName ca „Sachin Tendulkar”.

Cod:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" End Sub

Pasul 3: Acum, pentru variabila LastName, atribuiți valoarea prin funcția excel DREAPTA.

Cod:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (End Sub

Pasul 4: Șirul este numele nostru complet, așa că furnizați variabila.

Cod:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, End Sub

Pasul 5: lungimea este de câte personaje avem nevoie din partea dreaptă. Avem nevoie de 9 caractere pe partea dreaptă.

Cod:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) End Sub

Pasul 6: Afișați această valoare în caseta de mesaj .

Cod:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) MsgBox LastName End Sub

Pasul 7: Rulați macro-ul. Vom vedea numele de familie în caseta de mesaj.

Exemplul # 3 - Utilizarea funcției Instr

În exemplele de mai sus, am avut un singur nume și am furnizat direct câte caractere avem nevoie din stânga și din dreapta. Dar, în cazul multor nume, caracterele prenumelui și prenumelui nu sunt aceleași, acestea vor diferi de la nume la nume. În aceste cazuri, nu putem furniza direct numărul de caractere, astfel încât să putem utiliza funcția Instr.

Funcția Instr va reveni la poziția caracterului furnizat în șir. De exemplu, uitați-vă la codul de mai jos.

Cod:

Sub SubString_Example3 () Dim Position as String Position = InStr (1, "Sachin", "a") MsgBox Position End Sub

InStr (1, „Sachin”, „a”), aceasta va identifica poziția literei „a” ca fiind prima apariție în șirul „Sachin”. În acest caz, litera „a” se află în a doua poziție. Deci vom obține 2 ca rezultat în caseta de mesaj.

Astfel, putem folosi funcția Instr pentru a găsi caracterul spațial dintre prenume și prenume.

De exemplu, uitați-vă la numele de mai jos pe care îl am în foaia Excel.

Folosind funcția STÂNGA, DREAPTA și Instrument , putem extrage șirurile. Mai jos este codul pentru extragerea prenumelui.

Cod:

Sub Prenume () Dim K As Long Dim LR As Long LR = Celule (rânduri. Număr, 1). Sfârșit (xIUp). Rând pentru K = 2 la celule LR (K, 2). Valoare = stânga (celule (K, 1) .Value, InStr (1, Celule (K, 1) .Value, "") - 1) Următorul K End Sub

Rulați macrocomanda și vedeți prenumele ca un șir în caseta de mesaje.

Utilizați codul de mai jos pentru a extrage numele de familie ca un șir secundar.

Cod:

Sub LastName () Dim K As Long Dim LR As Long LR = Celule (rânduri. Număr, 1). Sfârșit (xIUp). Rând pentru K = 2 la celule LR (K, 3). Valoare = dreapta (celule (K, 1) .Value, Len (Celule (K, 1)) - InStr (1, Celule (K, 1). Valoare, "")) Următorul K End Sub

Rulați macrocomanda și vom vedea numele de familie în caseta de mesaj.

Am atribuit butonul macro fișei de lucru, descarc registrul de lucru și le folosesc.

Articole interesante...