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 SPLIT 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 operācijas, piemēram, egļu vārda, uzvārda, vidējā vārda uc iegūšanu. Bet kā būtu ar 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ā?

Ļaujiet man vispirms 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 uzdevumu sadalīt piegādāto virknes vērtību dažādās daļās, pamatojoties uz norādīto atdalītāju.

Piemēram, ja teikums ir “Bangalore ir Karnatakas galvaspilsēta”, vieta ir katra vārda atdalītājs.

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 atdalītā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ī.
Jūs varat lejupielādēt šo VBA sadalīšanas virkni masīva Excel veidnē šeit - VBA sadalīšanas virkne masīva Excel veidnē

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 Kā 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 teikumā ir vairāk nekā viens vārds, un 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, katrs vārds atdalīts 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) End Sub 

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

Pašlaik mēs varam redzēt pirmo vārdu, ti, “Bangalore”, lai parādītu citus vārdus, un kodu mēs 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 

Tagad palaidiet kodu un skatiet, ko mēs saņemam ziņojumu lodziņā.

Katrs vārds ir sadalīts masīvos.

2. piemērs

Tagad iedomājieties situāciju, kurā šīs vērtības tiek glabātas šūnās, ti, katrs vārds tiek ievietots atsevišķā šūnā. Lai to izdarītu, mums VBA jāiekļauj FOR NEXT cilpa.

Šis kods ievietos katru vārdu atsevišķās šūnās.

 Sub String_To_Array1 () Dim StringValue As String StringValue = "Bangalore ir Karnatakas galvaspilsēta" Dim SingleValue () As String SingleValue = Split (StringValue, "") Dim k As Integer K = 1 līdz 7 šūnas (1, k) .Value = SingleValue (k - 1) Nākamais k Beigas Sub 

Tas ievietos katru vārdu, kā parādīts zemāk esošajā attēlā.

Atceramās lietas

  • Masīvs un cilpas tiek izmantoti kopā, lai padarītu kodu dinamisku.
  • Funkcijai SPLIT ir nepieciešams kopīgs atdalītājs, kas atdala katru vārdu teikumā.
  • Masīva garums sākas no nulles, nevis no 1.

$config[zx-auto] not found$config[zx-overlay] not found