Excel VBA ReDim

VBA redimi abil saame massiivi elementide arvu reguleerida. Redim ei ole funktsioon, see on Redim-avalduse kaudu dünaamiline mälujaotusprogramm. Kui me Redimit kasutame, hoitakse andmete salvestamiseks konkreetne kogus mälu kõrvale.

Kuidas kasutada VBA ReDimi avaldust?

Arutame mõne näite abil VBA ReDimi avalduse kasutamist.

Selle VBA ReDim Exceli malli saate alla laadida siit - VBA ReDim Exceli mall

VBA ReDim - näide # 1

Kui kasutame massiivi jaoks Dim, ei saa me massiivi andmetalletuse väärtust muuta. Kuid Redimi kasutamisel saame massiivis salvestatud väärtust muuta. Seda massiivi muutmise protsessi nimetatakse massiivi ümbermõõtmiseks.

Oletame, et meil on massiivi A lahtri väärtus 4, siis määratletakse see väärtusega;

  • Dim A (3) kui topelt

Nagu näeme, on kõigil lahtritel salvestatud väärtus "0". Oletame nüüd, kui redigeerime Dim A 3-lahtriliste andmetega ja salvestame selle väärtuse, siis näeb see välja järgmine.

  • ReDim B (2) topeltkujuna

B (0) = 1; B (1) = 3, B (2) = -6

See näeb välja selline;

Nüüd, kui tahame sinna lahtrid lisada, saame seda teha. Siis määrab see lahtritele automaatselt numbri 0. Nüüd, ReDimi rakendamiseks, vajutage VBA akna avamiseks Alt + F11 . Ja menüüst Lisamine valige moodul, et avada uus aken, nagu allpool näidatud.

Nüüd avage alamkategooria ja lisage suvaline nimi. Kuna me kasutame ReDimi, siis oleme seda nimetanud kui UseReDim .

Kood:

 Sub SubReDim () lõpetab Sub 

Enne ReDimi määratlemist määrake kõigepealt täisarv. Siin oleme selle määratlenud kui "A" massiivi pikkusega 3. Ja salvestage mõned väärtused loodud massiivi, milles on 3 lahtrit, nagu allpool näidatud.

Kood:

 Sub kasutamineReDim () Dim A (2) täisarvuna ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 End Sub 

Nüüd, kui prinditakse täisarv A-s salvestatud väärtused, peame looma käsu MsgBox abil sõnumikasti, nagu allpool näidatud.

Kood:

 Sub kasutamineReDim () Dim A (2) täisarvuna A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Nüüd käivitage kood, klõpsates esitusnupul või F5-klahvil, nagu allpool näidatud.

Nüüd kasutame ReDimi ja see salvestab massiivi rohkem kui määratletud märke. Sellel kasutamisel ReDim määratletud täisarvu A jaoks. Esiteks eemaldame määratletud lahtrite arvu Dim- ist . Redim funktsiooni kasutatakse järgmiselt:

  • ReDim A (2) kasutatakse A (0), A (1), A (2) rakkude massiivi jaoks.
  • ReDim A (4) kasutatakse A (0), A (1), A (2), A (3), A (4) rakkude jaoks koos kahe täiendava näiva rakuga.

Kood:

 Sub kasutamineReDim () Dim A () täisarvuna ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) Lõpp alam 

Kui olete lõpetanud, käivitage täielik kood, klõpsates esitusnuppu või kasutades klahvi F5. Kui oleme kogu koodi käivitanud, kuvatakse 3 sõnumikasti, kuid ainult allpool näidatud sõnumiga „0”.

Selle põhjuseks on asjaolu, et ReDimil on tegelikult ainult 3 väärtust, kuid see ei kandnud salvestatud väärtusi määratletud täisarvude all. Ainult Redimi kasutamisel ei salvestata ühtegi väärtust ja kantakse sinna varem salvestatud väärtused. Sama kohaldamiseks peame säilitama määratletud täisarvu A väärtused ReDimi abiga. Kasutades VBA-s käsku Säilita, saame selle väärtuse ReDimi salvestada. Selle jaoks lisame VBA Codeas pärast ReDimi säilitamist .

Kood:

 Sub kasutamineReDim () Dim A () täisarvuna ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim Preserve A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) lõpp alam 

Nüüd käivitage täielik kood uuesti. Näeme 3 sõnumikasti koos kõigi salvestatud väärtustega, nagu allpool näidatud.

Nüüd peate mõtlema, miks me ReDim Preserve'iga A (4) kasutasime?

Allpool on selle selgitus. Massiivi 1., 2. ja 3. positsioon on vastavalt väärtustega 1, 2 ja 3. Ja 4. ja 5. positsioon, mis tähistab massiivi A 3 ja 4 arvu, on näivrakud. Mis tähendab, et kui 4. ja 5. positsiooni ei salvestata andmeid, arvestab see automaatselt väärtust “0” ja sõnumit ei täideta.

Kui proovime näha ReDimi massiivi 4. ja 5. positsioonis talletatud väärtusi, peame sisestama sõnumiboksi ka nende kahe positsiooni jaoks.

Kood:

 Sub kasutamineReDim () Dim A () täisarvuna ReDim A (3) A (0) = 1 A (1) = 2 A (2) = 3 ReDim Preserve A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) End Sub 

Nagu oleme lisanud teate, mis on paigutatud 4. ja 5. positsiooni, ilma väärtust salvestamata. Nüüd käivitage kood uuesti.

Nagu näeme ülaltoodud ekraanipiltidelt, saime 4. ja 5. positsiooni jaoks teadete lahtrid, kuid väärtus kuvatakse kui “0”. Mis tähendab, selgitab ülaltoodud väidet. Kui väärtust pole määratletud, arvestab ReDim Preserve automaatselt ja täidab ülejäänud lahtrites „0”.

VBA ReDim - näide nr 2

Nüüd vaatame, kuidas kasutada ReDimi avaldust koos Stringiga täisarvu asemel.

Kood:

 Alam kasutamineReDim () Dim A () kui string ReDim A (3) A (0) = "Klient" A (1) = "Toode" A (2) = "Toote ID" ReDim Säilitamine A (4) MsgBox A (0) ) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) Lõpp Sub 

Kui see on valmis, käivitage kogu kood F5-klahvi abil või käsitsi, nagu allpool näidatud.

Nagu näeme ülaltoodud ekraanipildil, saadame kõik määratletud ja salvestatud märgid esimesse 3 sõnumikasti. Ja neljandas ja viiendas kastis ei saa me midagi. Kuna ReDim ei salvesta väärtust, kui see pole määratletud. Täisarvude korral kajastub see numbriga „0”, kuid Stringi korral kuvatakse ainult tühje sõnumeid.

Excel VBA ReDim plussid

  • VBA ReDim võimaldab meil mõõtmete väärtusi uuesti määratleda.
  • Saame määratleda nii palju kui dimensioonilisi massiive, millel pole väärtust või on see null, ning salvestage väärtused hiljem.
  • ReDim tähendus Re-Dimensioning võimaldab kasutada suvalise arvu andmemassiive, ilma et säilitatavate andmete mahtu suurendataks.

Asjad, mida meeles pidada

  • Ärge unustage alati lisada VBA- sse ReDimi järel Säilita, et see salvestaks varem kasutatud mõõtmed.
  • Kui mõõde on määratletud kui string, siis tähendab väärtuste määramisel tühjaks jäetud koht tühja ja kui oleme sama sõnumikasti abil välja prindinud, antakse ka tühi teade.
  • Kui oleme dimensioonid Dim määratlenud kolme tähemärgi või lahtri väärtustega, siis saame ReDimis kasutada suvalist arvu dimensioone, mis kannavad Dimi dimensioonis juba määratletud ja salvestatud väärtusi.

Soovitatavad artiklid

See on olnud Excel VBA ReDimi juhend. Siin arutasime, kuidas kasutada VBA ReDimi avaldust tühikute eemaldamiseks koos mõnede praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Kuidas kasutada VBA-d veateate korral?
  2. Numbrivorming VBA-s
  3. Kuidas kasutada funktsiooni VBA Find?
  4. VBA TRIM-funktsioon

Kategooria: