VBA sadalīt virkni masīvā Kā sadalīt virkni masīvā programmā Excel VBA?

Excel VBA sadalīt virkni masīvā

Virkne ir rakstzīmju kopa, kas ir savienota kopā, kad šīs rakstzīmes tiek sadalītas un saglabātas mainīgajā, tad šis mainīgais kļūst par šo rakstzīmju masīvu, un metode, kuru mēs izmantojam, lai sadalītu virkni masīvā, ir funkcija vba, kas sadala virkni viendimensionālā virknē.

Tāpat kā VBA darblapas, arī mums ir funkcijas, lai risinātu virknes vai teksta vērtības. Mēs ļoti labi pārzinām virkņu darbības, piemēram, egļu vārda, uzvārda, vidējā vārda uc iegūšanu. Bet kā par ideju sadalīt virknes vērtību masīvos VBA? Jā, jūs dzirdējāt to pareizi, mēs varam sadalīt virknes teikumu masīvā, izmantojot VBA kodēšanu, un šajā īpašajā rakstā mēs parādīsim, kā sadalīt virkni masīvā programmā Excel VBA.

Kas ir sadalīta virkne masīvā?

Vispirms ļaujiet man paskaidrot, ka “String into Array” ir nekas cits kā “dažādas teikuma vai virknes daļas tiks sadalītas vairākās daļās”. Piemēram, ja teikums ir “Bangalore ir Karnatakas galvaspilsēta”, tad katrs vārds ir atšķirīgs masīvs.

Tātad, kā sadalīt šo teikumu masīvā, ir šī raksta tēma.

Kā pārveidot sadalīto virkni masīvā programmā Excel VBA?

Lai pārveidotu sadalīto virkni masīvā VBA, mums ir funkcija ar nosaukumu “SPLIT”. Šī ir VBA funkcija, kas veic piegādātā virknes vērtības sadalīšanu dažādās daļās, pamatojoties uz norādīto atdalītāju.

Piemēram, ja teikums ir “Bangalore ir Karnatakas galvaspilsēta”, atstarpe starp katru vārdu ir atstarpe.

Zemāk ir funkcijas SPLIT sintakse.

  • Vērtība vai izteiksme: Šī ir virkne vai teksta vērtība, kuru mēs cenšamies pārveidot par masīvu, nošķirot katru virknes daļu.
  • (Norobežotājs): Tas nav nekas cits kā kopīgas lietas, kas atdala katru vārdu virknē. Mūsu teikumā “Bangalore ir Karnatakas galvaspilsēta” katrs vārds ir atdalīts ar atstarpes raksturu, tāpēc mūsu norobežotājs šeit ir vieta.
  • (Limit): Limits ir nekas cits kā tas, cik daudz daļu mēs vēlamies iegūt. Piemēram, teikumā “Bangalore ir Karnatakas galvaspilsēta” mums ir septiņas daļas, ja mums vajag tikai trīs daļas, tad pirmo daļu iegūsim kā “Bangalore”, otro daļu “ir” un trešo daļu kā pārējo daļu. teikums, ti, “Karnatakas galvaspilsēta”.
  • (Salīdzināt): Tas netiek izmantots 99% gadījumu, tāpēc nepieskaramies tam šajā brīdī.

1. piemērs

Labi, tagad apskatīsim praktiskus piemērus.

1. darbība: definējiet VBA mainīgo, lai noturētu virknes vērtību.

Kods:

Sub String_To_Array () Dim StringValue kā virknes beigu apakšsadaļa

2. solis: šim mainīgajam piešķiriet virkni “Bangalore ir Karnatakas galvaspilsēta”.

Kods:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore ir Karnatkas galvaspilsēta" End Sub

3. solis: Pēc tam definējiet vēl vienu mainīgo, kas var saturēt katru iepriekš minētās virknes vērtības daļu. Šajā sakarā mums jāpatur prātā, ka teikumam ir vairāk nekā viens vārds, tāpēc mainīgais ir jānosaka kā “Masīvs”, lai turētu vairāk nekā vienu vērtību.

Šajā gadījumā virknē ir 7 vārdi, tāpēc definējiet masīvu šādi.

Kods:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore ir Karnatkas galvaspilsēta" Dim SingleValue () Kā String End Sub

Tagad šim masīva mainīgajam mēs izmantosim funkciju SPLIT, lai sadalītu virkni masīvā programmā Excel VBA.

Kods:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore ir Karnatakas galvaspilsēta" Dim SingleValue () As String SingleValue = Split (StringValue, "") Beigas Sub

Izteiksme ir mūsu virknes vērtība, ti, mainīgajam jau ir virknes vērtība, tāpēc ievadiet tikai mainīgā nosaukumu.

Šīs virknes atdalītājs ir atstarpes raksturs, tāpēc norādiet to pašu.

Kods:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore ir Karnatakas galvaspilsēta" Dim SingleValue () As String SingleValue = Split (StringValue, "") Beigas Sub

No šī brīža atstājiet citas funkcijas SPLIT.

Funkcija SPLIT sadalīja virknes vērtību 7 gabalos, katru vārdu nošķirot uz atstarpes rakstura rēķina. Tā kā mainīgo “SingleValue” esam deklarējuši kā masīvu, mēs varam šim mainīgajam piešķirt visas 7 vērtības.

Mēs varam uzrakstīt kodu šādi.

Kods:

Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore ir Karnatakas galvaspilsēta" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) Beigas Sub

Palaidiet kodu un uzziniet, ko mēs saņemam ziņojuma lodziņā.

No šī brīža mēs varam redzēt pirmo vārdu, ti, “Bangalore”, lai parādītu citus vārdus, kodu varam uzrakstīt šādi.

Kods:

Sub String_To_Array () Dim StringValue Kā String StringValue = "Bangalore ir Karnatakas galvaspilsēta" 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) Beigu apakšdaļa

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.
  • Masīva garums sākas no nulles, nevis no 1.

Interesanti raksti...