Excel VBA ReDim

Število elementov v matriki lahko prilagodimo prek VBA Redim. Redim ni funkcija, temveč je program za dinamično dodeljevanje pomnilnika prek stavka Redim. Ko uporabljamo Redim, ostane določena količina pomnilnika ob strani za shranjevanje podatkov.

Kako uporabljati izjavo VBA ReDim?

Z uporabo nekaterih primerov bomo razpravljali o uporabi VBA ReDim izjave.

Predlogo za VBA ReDim Excel lahko prenesete tukaj - VBA Predloga za ReDim Excel

VBA ReDim - Primer 1

Ko za matriko uporabljamo Dim, ne moremo spremeniti vrednosti shranjevanja podatkov v matriki. Ko pa uporabimo Redim, lahko spremenimo shranjeno vrednost v nizu. Ta postopek spremembe matrike se imenuje ponovno dimenzioniranje matrike.

Recimo, da imamo matriko A vrednost 4 celic, potem bo definirana z;

  • Dim A (3) kot dvojni

Kot lahko vidimo, imajo vse celice shranjeno vrednost "0". Zdaj pa predpostavimo, da če preuredimo vrednost Dim A s 3 celicnimi podatki in vanjo shranimo vrednost, bo videti kot spodaj.

  • ReDim B (2) Kot dvojni

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

Videti bo kot;

Zdaj, če želimo vanj dodati celice, lahko to storimo. Nato bo tem celicam samodejno dodelil "0". Zdaj za izvajanje ReDim pritisnite Alt + F11, da odprete okno VBA. V meniju Vstavljanje izberite možnost Modul, da odprete novo okno, kot je prikazano spodaj.

Zdaj odprite podkategorijo in dodajte poljubno ime. Kot uporabljamo ReDim, tako smo ga poimenovali z UseReDim .

Koda:

 Sub UporabaReDim () Končni pod 

Zdaj, preden določite ReDim, najprej določite katero koli celo število. Tu smo ga opredelili kot "A" z dolžino matrice 3. In shranili nekaj vrednosti v ustvarjeni niz iz 3 celic, kot je prikazano spodaj.

Koda:

 Pod UporabaReDim () Dim A (2) Kot celoten ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 konec Sub 

Zdaj tiskamo vrednosti, shranjene v Integerju A, moramo s pomočjo ukaza MsgBox ustvariti polje s sporočili, kot je prikazano spodaj.

Koda:

 Pod UporabaReDim () Dim A (2) Kot celo število A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) Konec pod 

Zdaj zaženite kodo s klikom na gumb za predvajanje ali tipko F5, kot je prikazano spodaj.

Zdaj bomo uporabili ReDim in ta bo v polje shranil več kot definiranih znakov. Za to uporabite ReDim za definirano celo število A. Najprej bomo odstranili definirano število celic iz Dim. Uporaba funkcije Redim je naslednja:

  • ReDim A (2) se uporablja za celice A (0), A (1), A (2) .
  • ReDim A (4) se uporablja za celice A (0), A (1), A (2), A (3), A (4) z dvema dodatnima maščobnima celicama.

Koda:

 Pod UporabaReDim () Dim A () Kot celoten ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) Končni pod 

Ko končate, nato zaženite celotno kodo s klikom na gumb za predvajanje ali s tipko F5. Ko zaženemo celotno kodo, bomo dobili 3 polja s sporočili, vendar s sporočilom, ki vsebuje samo "0", kot je prikazano spodaj.

To je zato, ker ima ReDim dejansko le 3 vrednosti, shranjenih vrednosti pa ni nosil pod določenimi celimi številkami. Samo z uporabo programa Redim ne shranjujete nobenih vrednosti in vanje prenese predhodno shranjene vrednosti. Da bi uporabili isto, moramo s pomočjo ReDim ohraniti vrednosti definiranega celotnega števila A. Z uporabo Preserve v VBA lahko vrednost shranimo v ReDim. V ta namen bomo v spodaj prikazanih Codeas VBA dodali Preserve after ReDim.

Koda:

 Pod UporabaReDim () Dim A () Kot celoten 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) Končni pod 

Zdaj zaženite celotno kodo še enkrat. Videli bomo 3 polja s sporočili z vsemi shranjenimi vrednostmi, kot so prikazane spodaj.

Zdaj se sprašujete, zakaj smo z ReDim Preserveom uporabili A (4)?

Spodaj je razlaga. Kjer sta 1., 2. in 3. položaj matrike zasedena z vrednostmi 1, 2 in 3. Četrti in peti položaj, ki predstavljata 3 in 4 število matrike A, so navidezne celice. Kar pomeni, da če ni shranjenih podatkov na 4. in 5. mestu, bo samodejno upošteval vrednost „0“ in sporočilo se ne bo naselilo.

Če poskušamo videti vrednosti, shranjene v 4. in 5. položaju matrike ReDim, moramo vstaviti tudi sporočilo za ta dva položaja.

Koda:

 Pod UporabaReDim () Dim A () Kot celoten 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) Konec pod 

Kot smo dodali sporočilo v škatlici za 4. in 5. položaj, ne da bi shranili nobeno vrednost. Zdaj zaženite kodo še enkrat.

Kot lahko vidimo na zgornjih posnetkih zaslona, ​​smo za 4. in 5. položaj dobili polja s sporočili, vrednost pa je prikazana kot "0". Kar pomeni, da pojasnjuje zgornjo trditev. Če ni definirana vrednost, bo ReDim Preserve samodejno razmislil in napolnil "0" v preostalih celicah.

VBA ReDim - primer # 2

Zdaj pa poglejmo, kako uporabiti izjavo ReDim z nizom namesto Integerja.

Koda:

 Pod UporabaReDim () Dim A () kot niz ReDim A (3) A (0) = "stranka" A (1) = "izdelek" A (2) = "id izdelka" ReDim ohrani A (4) MsgBox A (0) ) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) Končni pod 

Ko končate, nato celotno kodo zaženite s tipko F5 ali ročno, kot je prikazano spodaj.

Kot lahko vidimo na zgornjem posnetku zaslona, ​​dobimo vse definirane in shranjene znake v prvih treh okencih s sporočili. In v 4. in 5. polju ne dobimo nič. Ker ReDim shrani vrednost, če ni definirana. Za celoštevilke bo prikazan kot "0", pri Stringu pa bo prikazan samo prazno sporočilo.

Prednosti Excel VBA ReDim

  • VBA ReDim nam omogoča, da na novo določimo vrednosti dimenzij.
  • Določimo lahko čim več dimenzijskih nizov brez vrednosti ali nič in vrednosti shranimo pozneje.
  • ReDim, kar pomeni Re-Dimensioning, omogoča uporabo pravic dodajanja poljubnih števil podatkovnih nizov, ne da bi povečali velikost shranjenih podatkov.

Stvari, ki jih je treba zapomniti

  • Vedno ne pozabite dodati Reserve po ReDim v VBA, da bo shranil prej uporabljene dimenzije.
  • Če je dimenzija definirana kot String, bo vsak položaj, ki ga pri dodeljevanju vrednosti pustimo prazen, prazen in ko tiskamo isto s pomočjo sporočila, bo tudi prazno polje s sporočilom.
  • Če smo dimenzije Dim določili s 3 znaki ali vrednostmi celic, potem lahko v ReDimu uporabimo poljubno število razsežnosti, ki vsebujejo že definirane in shranjene vrednosti v Dimu.

Priporočeni članki

To je vodnik za Excel VBA ReDim. Tu smo razpravljali, kako uporabiti izjavo VBA ReDim za odstranitev presledkov skupaj z nekaj praktičnimi primeri in naloženo predlogo excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kako uporabiti izjavo o napaki VBA?
  2. Format številke v VBA
  3. Kako uporabljati funkcijo VBA Find?
  4. VBA TRIM funkcija

Kategorija: