Excel VBA delt streng i matrix
En streng er en samling af tegn, der er sammenføjet, når disse tegn opdeles og gemmes i en variabel, bliver denne variabel en matrix for disse tegn, og metoden, vi bruger til at opdele en streng, der skal laves til en matrix, er ved hjælp af SPLIT-funktionen i vba, der opdeler strengen i en endimensionel streng.
Som regneark i VBA har vi også funktioner til at håndtere streng- eller tekstværdier. Vi er meget fortrolige med strengoperationerne som at udtrække firs-navnet, efternavnet, mellemnavnet osv. Men hvad med ideen om at opdele strengværdi i arrays i VBA? Ja, du har hørt det rette, vi kan opdele streng sætning i array ved hjælp af VBA-kodning, og i denne specielle artikel viser vi dig, hvordan du opdeler strengen i en array i Excel VBA.

Hvad er splitstreng i en matrix?
Lad mig afklare dette først, "String into Array" er intet andet end "forskellige dele af sætningen eller strengen vil blive opdelt i flere dele." For eksempel, hvis sætningen er "Bangalore er hovedstaden i Karnataka", så er hvert ord et andet array.
Så hvordan man deler denne sætning i arrayet er emnet i denne artikel.
Sådan konverteres splitstreng til en matrix i Excel VBA?
For at konvertere splitstrengen til en matrix i VBA har vi en funktion kaldet "SPLIT." Dette er en VBA-funktion, der udfører opgaven med at opdele den leverede strengværdi i forskellige dele baseret på den medfølgende afgrænser.
For eksempel, hvis sætningen er "Bangalore er hovedstaden i Karnataka", er mellemrummet afgrænsningen mellem hvert ord.
Nedenfor er syntaksen for SPLIT-funktionen.

- Værdi eller udtryk: Dette er den streng- eller tekstværdi, som vi prøver at konvertere til arrayet ved at adskille hver del af strengen.
- (Afgrænser): Dette er intet andet end de almindelige ting, der adskiller hvert ord i strengen. I vores sætning ”Bangalore er hovedstaden i Karnataka” adskilles hvert ord af rumkarakter, så vores afgrænsning er plads her.
- (Begrænsning): Begrænsning er intet andet end hvor mange dele, vi vil have som et resultat. For et eksempel i sætningen "Bangalore er hovedstaden i Karnataka" har vi syv dele, hvis vi kun har brug for tre dele, så får vi den første del som "Bangalore", den anden del som "er" og tredje del som resten af sætningen dvs. "hovedstaden i Karnataka."
- (Sammenlign): Dette bruges ikke 99% af tiden, så lad os ikke røre ved dette på dette tidspunkt.
Eksempel nr. 1
Ok, lad os nu se praktiske eksempler.
Trin 1: Definer VBA-variablen for at holde strengværdien.
Kode:
Sub String_To_Array () Dim StringValue Som String End Sub

Trin 2: Til denne variabel tildeles strengen "Bangalore er hovedstaden i Karnataka."
Kode:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore er hovedstaden i Karnatka" End Sub

Trin 3: Dernæst definer en yderligere variabel, der kan indeholde hver del af ovenstående strengværdi. På dette er vi nødt til at huske her, da sætningen har mere end et ord, skal vi definere variablen som "Array" for at holde mere end en værdi.
I dette tilfælde har vi 7 ord i strengen, så definer arrayet som følger.
Kode:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore er hovedstaden i Karnatka" Dim SingleValue () Som String End Sub

Nu til denne matrixvariabel bruger vi SPLIT-funktionen til at opdele strengen i en matrix i Excel VBA.
Kode:
Sub String_To_Array() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") End Sub

The expression is our string value i.e., variable already holds the string value so enter the variable name only.

The delimiter in this string is space character so supply the same.
Code:
Sub String_To_Array() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") End Sub
As of now, leave other parts of the SPLIT function.
SPLIT function split the string value into 7 pieces, each word segregated at the expense of space character. Since we have declared the variable “SingleValue” as array, we can assign all the 7 values to this variable.
We can write the code as follows.
Code:
Sub String_To_Array() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") MsgBox SingleValue(0) End Sub
Run the code and see what we get in the message box.

As of now, we can see the first word i.e. “Bangalore,” to show further words we can write the code as follows.
Code:
Sub String_To_Array() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") MsgBox SingleValue(0) & vbNewLine & SingleValue(1) & vbNewLine & SingleValue(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.
- Array længde starter fra nul, ikke fra 1.