VBA razdeli niz v matriko - Kako razdeliti niz v polje v Excelu VBA?

Excel VBA razdeli niz v matriko

Niz je zbirka združenih znakov, ko se ti znaki razdelijo in shranijo v spremenljivko, potem ta spremenljivka postane matrika za te znake, metoda, ki jo uporabljamo za razdelitev niza v matriko, pa je z uporabo funkcije SPLIT v vba, ki razdeli niz v enodimenzionalni niz.

Tako kot delovni listi tudi v VBA, imamo tudi funkcije za obravnavo vrednosti String ali Text. Zelo dobro poznamo nizalne operacije, kot je pridobivanje imena, priimka, srednjega imena itd. Kaj pa ideja o razdelitvi vrednosti niza v nize v VBA? Da, slišali ste, da je pravilno, če lahko niz stavka razdelimo na matriko s pomočjo kodiranja VBA, v tem posebnem članku pa vam bomo pokazali, kako razdeliti niz v polje v Excelu VBA.

Kaj je razdeli niz v matriko?

Naj najprej pojasnim, »String into Array« ni nič drugega kot »različni deli stavka ali niza bodo razdeljeni na več delov«. Če je na primer stavek »Bangalore je glavno mesto Karnataka«, potem je vsaka beseda drugačna matrika.

Torej, kako razdeliti ta stavek v matriko, je tema tega članka.

Kako pretvoriti razdeljeni niz v matriko v Excelu VBA?

Za pretvorbo deljenega niza v matriko v VBA imamo funkcijo, imenovano »SPLIT«. To je funkcija VBA, ki izvaja nalogo razdelitve dobavljene vrednosti niza na različne dele glede na predvideno ločilo.

Če je na primer stavek "Bangalore je glavno mesto Karnataka", je presledek ločilo med vsako besedo.

Spodaj je sintaksa funkcije SPLIT.

  • Vrednost ali izraz: to je vrednost niza ali besedila, ki jo poskušamo pretvoriti v matriko z ločevanjem vsakega dela niza.
  • (Ločilo): To ni nič drugega kot običajne stvari, ki ločujejo vsako besedo v nizu. V našem stavku »Bangalore je glavno mesto Karnataka« je vsaka beseda ločena s presledkom, zato je tu ločilo vesolje.
  • (Omejitev): Omejitev ni nič drugega kot to, koliko delov želimo kot rezultat. Na primer v stavku "Bangalore je glavno mesto Karnataka" imamo sedem delov, če potrebujemo le tri dele, potem bomo dobili prvi del kot "Bangalore", drugi del kot "je" in tretji del kot preostali del stavek, tj. "glavno mesto Karnataka."
  • (Primerjaj): To se ne uporablja 99% časa, zato se tega v tem trenutku ne dotikajte.

Primer # 1

Ok, zdaj poglejmo praktične primere.

1. korak: Določite spremenljivko VBA, ki bo vsebovala vrednost niza.

Koda:

Sub String_To_Array () Dim StringValue kot niz na koncu Sub

2. korak: tej spremenljivki dodelite niz »Bangalore je glavno mesto Karnataka.«

Koda:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je glavno mesto Karnatka" Konec Sub

3. korak: Nato določite še eno spremenljivko, ki lahko vsebuje vsak del zgornje vrednosti niza. Pri tem moramo imeti v mislih. Ker ima stavek več kot eno besedo, moramo spremenljivko definirati kot "Array", da vsebuje več kot eno vrednost.

V tem primeru imamo v nizu 7 besed, zato matriko definirajte na naslednji način.

Koda:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je glavno mesto Karnatka" Dim SingleValue () Kot String End Sub

Zdaj bomo za to spremenljivko polja uporabili funkcijo SPLIT za razdelitev niza v polje v Excelu VBA.

Koda:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je glavno mesto Karnataka" Dim SingleValue () As String SingleValue = Razdeli (StringValue, "") End Sub

Izraz je naša vrednost niza, tj. Spremenljivka že vsebuje vrednost niza, zato vnesite samo ime spremenljivke.

Ločilo v tem nizu je presledek, zato vnesite enako.

Koda:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je glavno mesto Karnataka" Dim SingleValue () As String SingleValue = Razdeli (StringValue, "") End Sub

Od zdaj zapustite druge dele funkcije SPLIT.

Funkcija SPLIT je vrednost niza razdelila na 7 kosov, pri čemer je bila vsaka beseda ločena na račun presledka. Ker smo spremenljivko "SingleValue" razglasili za matriko, lahko tej spremenljivki dodelimo vseh 7 vrednosti.

Kodo lahko zapišemo na naslednji način.

Koda:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je glavno mesto Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) End Sub

Zaženite kodo in si oglejte, kaj dobimo v polju za sporočila.

Zdaj lahko vidimo prvo besedo, tj. »Bangalore«, da pokažemo nadaljnje besede, lahko napišemo kodo na naslednji način.

Koda:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je glavno mesto Karnataka" Dim SingleValue () As String SingleValue = Razdeli (StringValue, "") MsgBox SingleValue (0) & vbNewLine & SingleValue (1) & vbNewLueL (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.
  • Dolžina polja se začne od nič, ne od 1.

Zanimive Članki...