VBA padalijo eilutę į masyvą Kaip padalyti eilutę į masyvą „Excel VBA“?

„Excel VBA“ padalykite eilutę į masyvą

Eilutė yra sujungtų simbolių rinkinys, kai šie simboliai yra padalijami ir saugomi kintamajame, tada šis kintamasis tampa šių simbolių masyvu, o metodas, kurį naudojame eilutės padalijimui į masyvą, yra naudojant funkciją SPLIT vba, kuri padalija eilutę į vienmatę eilutę.

Kaip ir VBA darbalapiai, taip pat turime funkcijas, susijusias su eilutės arba teksto reikšmėmis. Mes esame labai gerai susipažinę su stygų operacijomis, pvz., Eglių vardo, pavardės, antrojo vardo ir kt. Išskyrimu. Bet kaip apie idėją padalinti eilutės vertę į masyvus VBA? Taip, jūs girdėjote, kad tai teisinga, mes galime padalinti eilutės sakinį į masyvą, naudodami VBA kodavimą, ir šiame specialiame straipsnyje mes parodysime, kaip padalinti eilutę į masyvą „Excel VBA“.

Kas yra padalinta eilutė į masyvą?

Pirmiausia leiskite man tai patikslinti: „Stygos į masyvą“ yra ne kas kita, kaip „skirtingos sakinio ar eilutės dalys bus padalytos į kelias dalis“. Pvz., Jei sakinys yra „Bangalore yra sostinė Karnataka“, kiekvienas žodis yra skirtingas masyvas.

Taigi, kaip padalinti šį sakinį į masyvą, yra šio straipsnio tema.

Kaip konvertuoti padalytą eilutę į masyvą „Excel VBA“?

Norėdami konvertuoti padalytą eilutę į masyvą VBA, turime funkciją, vadinamą „SPLIT“. Tai yra VBA funkcija, vykdanti užduotį padalinti tiekiamos eilutės vertę į skirtingas dalis, atsižvelgiant į pateiktą atskyriklį.

Pvz., Jei sakinys yra „Bangaloras yra Karnatakos sostinė“, tarpas yra kiekvieno žodžio ribotuvas.

Žemiau yra funkcijos SPLIT sintaksė.

  • Reikšmė arba išraiška: Tai yra eilutė arba teksto vertė, kurią bandome konvertuoti į masyvą, atskirdami kiekvieną eilutės dalį.
  • [Apribotojas]: Tai ne kas kita, kaip įprasti dalykai, skiriantys kiekvieną eilutės žodį. Mūsų sakinyje „Bangaloras yra Karnatakos sostinė“ kiekvienas žodis atskirtas tarpo ženklu, todėl čia mūsų vieta yra erdvė.
  • [Riba]: Riba yra ne kas kita, o kiek dalių mes norime. Pavyzdžiui sakinyje „Bangaloras yra Karnatakos sostinė“ mes turime septynias dalis, jei mums reikia tik trijų dalių, tada pirmąją dalį gausime kaip „Bangalorą“, antrąją - kaip „ir“, o trečiąją - kaip likusią dalį. sakinys, ty „sostinė Karnataka“.
  • [Palyginti]: Tai nenaudojama 99% laiko, todėl nelieskime to šiuo momentu.
Galite atsisiųsti šią „VBA Split String“ į „Array Excel“ šabloną čia - VBA „Split String“ į „Array Excel“ šabloną

1 pavyzdys

Gerai, dabar pažiūrėkime praktinius pavyzdžius.

1 veiksmas: apibrėžkite VBA kintamąjį, kad būtų laikoma eilutės reikšmė.

Kodas:

 Sub String_To_Array () Dim StringValue kaip eilutės pabaiga Sub 

2 žingsnis: Šiam kintamajam priskirkite eilutę „Bangalore yra Karnatakos sostinė“.

Kodas:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangaloras yra Karnatkos sostinė" Pabaiga Sub 

3 žingsnis: Tada nustatykite dar vieną kintamąjį, kuriame gali būti kiekviena aukščiau nurodytos eilutės vertės dalis. Šiuo klausimu turime nepamiršti, kad sakinyje yra daugiau nei vienas žodis, todėl kintamąjį turime apibrėžti kaip „Masyvą“, kad būtų daugiau nei viena reikšmė.

Tokiu atveju eilutėje yra 7 žodžiai, todėl masyvą apibūdinkite taip.

Kodas:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore yra Karnatka sostinė" Dim SingleValue () Kaip String End Sub 

Dabar, naudodami šį masyvo kintamąjį, naudosime funkciją SPLIT, kad eilutė būtų padalyta į masyvą „Excel VBA“.

Kodas:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore yra Karnatakos sostinė" Dim SingleValue () Kaip String SingleValue = Split (StringValue, "") Pabaiga Sub 

Išraiška yra mūsų eilutės vertė, ty kintamasis jau turi eilutės vertę, todėl įveskite tik kintamojo pavadinimą.

Šios eilutės skiriklis yra tarpo ženklas, todėl pateikite tą patį.

Kodas:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore yra Karnatakos sostinė" Dim SingleValue () Kaip String SingleValue = Split (StringValue, "") Pabaiga Sub 

Nuo šiol palikite kitas funkcijos SPLIT dalis.

Funkcija „SPLIT“ padalijo eilutės vertę į 7 dalis, kiekvieną žodį atskiriant tarpo simbolio sąskaita. Kadangi kintamąjį „SingleValue“ paskelbėme masyvu, šiam kintamajam galime priskirti visas 7 reikšmes.

Kodą galime parašyti taip.

Kodas:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore yra Karnatakos sostinė" Dim SingleValue () Kaip String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) Pabaiga Sub 

Paleiskite kodą ir pamatykite, ką gauname pranešimų laukelyje.

Dabar galime pamatyti pirmąjį žodį, ty „Bangalore“, kad parodytume kitus žodžius, kodą galime parašyti taip.

Kodas:

 Sub String_To_Array () Dim StringValue Kaip String StringValue = "Bangalore yra Karnatakos sostinė" 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) Pabaiga 

Dabar paleiskite kodą ir pamatykite, ką gauname pranešimų laukelyje.

Kiekvienas žodis buvo padalintas į masyvus.

2 pavyzdys

Dabar įsivaizduokite situaciją, kai šios vertės saugomos langeliuose, ty kiekvienas žodis į atskirą langelį. Tam mes turime įtraukti FOR NEXT kilpą į VBA.

Žemiau pateiktas kodas įterps kiekvieną žodį į atskiras langelius.

 Sub String_To_Array1 () Dim StringValue As String StringValue = "Bangalore yra Karnatakos sostinė" Dim SingleValue () As String SingleValue = Split (StringValue, "") Dim k As Integer K = 1–7 ląstelės (1, k) .Value = SingleValue (k - 1) Kitas k End Sub 

Tai įterps kiekvieną žodį, kaip parodyta žemiau esančiame paveikslėlyje.

Ką reikia atsiminti

  • Masyvas ir kilpos naudojami kartu, kad kodas būtų dinamiškas.
  • SPLIT funkcijai reikalingas bendras atribiklis, kuris atskiria kiekvieną sakinio žodį.
  • Masyvo ilgis prasideda nuo nulio, o ne nuo 1.

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