Excel VBA delt streng i matrise
En streng er en samling av tegn som er slått sammen, når disse tegnene deles og lagres i en variabel, blir den variabelen en matrise for disse tegnene, og metoden vi bruker for å dele en streng for å lage i en matrise er ved å bruke SPLIT-funksjonen i vba som deler strengen i en endimensjonal streng.
Som regneark i VBA har vi også funksjoner for å håndtere streng- eller tekstverdier. Vi er veldig kjent med strengoperasjonene som å trekke ut firnavn, etternavn, mellomnavn osv. Men hva med ideen om å dele strengverdi i matriser i VBA? Ja, du hørte det riktig, vi kan dele streng setning i matrise ved hjelp av VBA-koding, og i denne spesielle artikkelen vil vi vise deg hvordan du kan dele strengen i en matrise i Excel VBA.

Hva er delt streng i en matrise?
La meg avklare dette først, "String into Array" er ingenting annet enn "forskjellige deler av setningen eller strengen vil bli delt i flere deler." For eksempel, hvis setningen er "Bangalore er hovedstaden i Karnataka", så er hvert ord et annet utvalg.
Så hvordan du deler denne setningen i matrisen er temaet i denne artikkelen.
Hvordan konvertere delt streng til en matrise i Excel VBA?
For å konvertere delt streng til en matrise i VBA har vi en funksjon kalt "SPLIT." Dette er en VBA-funksjon som utfører oppgaven med å dele den tilførte strengverdien i forskjellige deler basert på den avgrensningen som er gitt.
Hvis setningen for eksempel er "Bangalore er hovedstaden i Karnataka," er mellomrom avgrensningen mellom hvert ord.
Nedenfor er syntaksen til SPLIT-funksjonen.

- Verdi eller uttrykk: Dette er strengen eller tekstverdien vi prøver å konvertere til matrisen ved å adskille hver del av strengen.
- (Avgrenser): Dette er ingenting annet enn de vanlige tingene som skiller hvert ord i strengen. I setningen vår "Bangalore er hovedstaden i Karnataka", er hvert ord atskilt med romkarakter, så avgrensningen vår er plass her.
- (Limit): Limit er ikke annet enn hvor mange deler vi vil ha som et resultat. For et eksempel i setningen "Bangalore er hovedstaden i Karnataka" har vi syv deler hvis vi bare trenger tre deler, så får vi den første delen som "Bangalore", den andre delen som "er" og tredje del som resten av setningen dvs. "hovedstaden i Karnataka."
- (Sammenlign): Dette brukes ikke 99% av tiden, så la oss ikke berøre dette på dette tidspunktet.
Eksempel 1
Ok, la oss nå se praktiske eksempler.
Trinn 1: Definer VBA-variabelen for å holde strengverdien.
Kode:
Sub String_To_Array () Dim StringValue As String End Sub

Trinn 2: For denne variabelen tilordne strengen "Bangalore er hovedstaden i Karnataka."
Kode:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore er hovedstaden i Karnatka" End Sub

Trinn 3: Definer deretter en variabel til som kan inneholde hver del av strengverdien ovenfor. På dette må vi huske på at siden setningen har mer enn ett ord, må vi definere variabelen som "Array" for å ha mer enn en verdi.
I dette tilfellet har vi 7 ord i strengen, så definer matrisen som følger.
Kode:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore er hovedstaden i Karnatka" Dim SingleValue () Som String End Sub

Nå for denne matrixvariabelen vil vi bruke SPLIT-funksjonen til å dele strengen i en matrise i Excel VBA.
Kode:
Sub String_To_Array () Dim StringValue Som String StringValue = "Bangalore er hovedstaden i Karnataka" Dim SingleValue () Som String SingleValue = Split (StringValue, "") End Sub

Uttrykket er strengverdien vår, dvs. at variabelen allerede har strengverdien, så skriv bare inn variabelnavnet.

Avgrenseren i denne strengen er mellomromstegn, så gi det samme.
Kode:
Sub String_To_Array () Dim StringValue Som String StringValue = "Bangalore er hovedstaden i Karnataka" Dim SingleValue () Som String SingleValue = Split (StringValue, "") End Sub
Fra nå av forlater du andre deler av SPLIT-funksjonen.
SPLIT-funksjonen delte strengverdien i 7 stykker, hvert ord adskilt på bekostning av mellomromstegn. Siden vi har erklært variabelen “SingleValue” som matrise, kan vi tilordne alle de 7 verdiene til denne variabelen.
Vi kan skrive koden som følger.
Kode:
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
Kjør koden og se hva vi får i meldingsboksen.

Fra nå av kan vi se det første ordet, dvs. "Bangalore", for å vise flere ord, vi kan skrive koden som følger.
Kode:
Sub String_To_Array () Dim StringValue Som String StringValue = "Bangalore er hovedstaden i Karnataka" Dim SingleValue () Som String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) & vbNewLine & SingleValue (1) & vb (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 lengde starter fra null, ikke fra 1.