Excel VBA Split String in Array
Un șir este o colecție de caractere unite între ele, atunci când aceste caractere sunt împărțite și stocate într-o variabilă, atunci variabila respectivă devine o matrice pentru aceste caractere și metoda pe care o folosim pentru a împărți un șir pentru a transforma într-o matrice este folosind funcția SPLIT în vba care împarte șirul într-un șir unidimensional.
La fel ca și foile de lucru din VBA, avem funcții pentru a face față valorilor String sau Text. Suntem foarte familiarizați cu operațiile șirului, cum ar fi extragerea numelui, prenumelui, prenumelui, etc. Dar ce zici de ideea împărțirii valorii șirului în matrice în VBA? Da, ați auzit corect că putem împărți propoziția șirului în matrice folosind codarea VBA și, în acest articol special, vă vom arăta cum să împărțiți șirul într-o matrice în Excel VBA.

Ce este Split String într-o matrice?
Permiteți-mi să clarific acest lucru mai întâi, „Șirul în matrice” nu este altceva decât „diferite părți ale propoziției sau șirului vor fi împărțite în mai multe părți”. De exemplu, dacă propoziția este „Bangalore este capitala Karnataka”, atunci fiecare cuvânt este o matrice diferită.
Deci, cum se împarte această propoziție în matrice este subiectul acestui articol.
Cum se convertește șirul divizat într-o matrice în Excel VBA?
Pentru a converti șirul divizat într-o matrice în VBA avem o funcție numită „SPLIT”. Aceasta este o funcție VBA care îndeplinește sarcina de a împărți valoarea șirului furnizat în diferite părți pe baza delimitatorului furnizat.
De exemplu, dacă propoziția este „Bangalore este capitala Karnataka”, spațiul este delimitatorul dintre fiecare cuvânt.
Mai jos este sintaxa funcției SPLIT.

- Valoare sau expresie: Aceasta este șirul sau valoarea textului pe care încercăm să îl convertim în matrice prin segregarea fiecărei părți a șirului.
- (Delimitator): Acesta nu este altceva decât lucrurile comune care separă fiecare cuvânt din șir. În propoziția noastră „Bangalore este capitala Karnataka” fiecare cuvânt separat prin caracter spațial, deci delimitatorul nostru este spațiul aici.
- (Limit): Limit nu este altceva decât câte părți dorim ca rezultat. Pentru un exemplu din propoziția „Bangalore este capitala Karnataka” avem șapte părți dacă avem nevoie doar de trei părți, atunci vom primi prima parte ca „Bangalore”, a doua parte ca „este” și a treia parte ca restul propoziția adică „capitala Karnataka”.
- (Comparați): Aceasta nu este utilizată 99% din timp, deci să nu atingem acest lucru în acest moment.
Exemplul nr. 1
Ok, acum să vedem exemple practice.
Pasul 1: definiți variabila VBA pentru a menține valoarea șirului.
Cod:
Sub String_To_Array () Dim StringValue As String End Sub

Pasul 2: Pentru această variabilă atribuiți șirul „Bangalore este capitala Karnataka”.
Cod:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore este capitala Karnatka" End Sub

Pasul 3: Apoi, definiți încă o variabilă care poate conține fiecare parte a valorii șirului de mai sus. În acest sens, trebuie să ținem cont de faptul că, deoarece propoziția are mai mult de un cuvânt, trebuie să definim variabila ca „Matrice” pentru a deține mai multe valori.
În acest caz, avem 7 cuvinte în șir, deci definiți matricea după cum urmează.
Cod:
Sub String_To_Array () Dim StringValue As String StralValue = "Bangalore este capitala Karnatka" Dim SingleValue () Ca String End Sub

Acum, pentru această variabilă de matrice, vom folosi funcția SPLIT pentru a împărți șirul într-o matrice în Excel VBA.
Cod:
Sub String_To_Array () Dim StringValue As StringValue = "Bangalore este capitala Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub

Expresia este valoarea șirului nostru, adică variabila deține deja valoarea șirului, așa că introduceți numai numele variabilei.

Delimitatorul din acest șir este un caracter spațial, așa că furnizați același lucru.
Cod:
Sub String_To_Array () Dim StringValue As StringValue = "Bangalore este capitala Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub
Până acum, lăsați alte părți ale funcției SPLIT.
Funcția SPLIT împarte valoarea șirului în 7 bucăți, fiecare cuvânt fiind separat în detrimentul caracterului spațiu. Deoarece am declarat variabila „SingleValue” ca matrice, putem atribui toate cele 7 valori acestei variabile.
Putem scrie codul după cum urmează.
Cod:
Sub String_To_Array () Dim StringValue As StringValue = "Bangalore este capitala Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) End Sub
Rulați codul și vedeți ce primim în caseta de mesaje.

De acum, putem vedea primul cuvânt, adică „Bangalore”, pentru a afișa cuvinte suplimentare, putem scrie codul după cum urmează.
Cod:
Sub String_To_Array () Dim StringValue As StringValue = "Bangalore este capitala Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) & vbNewLine & SingleValue (1) & vbNew (2) & vbNewLine & SingleValue (3) & _vbNewLine & SingleValue (4) & vbNewLine & SingleValue (5) & vbNewLine & SingleValue (6) End Sub
Now run the code and see what we get in the message box.

Each and every word has been split into arrays.
Example #2
Now imagine a situation of storing these values to cells i.e., each word into a separate cell. For this, we need to include the FOR NEXT loop in VBA.
The below code will insert each word into separate cells.
Sub String_To_Array1() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") Dim k As Integer For k = 1 To 7 Cells(1, k).Value = SingleValue(k - 1) Next k End Sub
This will insert each word, as shown in the below image.

Things to Remember
- Array and loops are used together to make the code dynamic.
- The SPLIT function requires common delimiter, which separates each word in the sentence.
- Lungimea matricei începe de la zero, nu de la 1.