Excel VBA ReDim

A tömb elemeinek számát a VBA Redim segítségével állíthatjuk be. A Redim nem funkció, hanem dinamikus memóriaelosztási program a Redim utasításon keresztül. Amikor Redim-et használunk, egy bizonyos memóriamennyiséget nem kell tárolni az adatok tárolására.

Hogyan kell használni a VBA ReDim nyilatkozatot?

Néhány példa segítségével megvitatjuk a VBA ReDim nyilatkozat használatát.

Itt letöltheti ezt a VBA ReDim Excel sablont - VBA ReDim Excel sablon

VBA ReDim - 1. példa

Ha Dim-et használunk egy tömbhöz, akkor nem módosíthatjuk a tömb adattárolásának értékét. De amikor Redim-et használunk, megváltoztathatjuk a tárolt értéket egy tömbben. A tömb megváltoztatásának ezt a folyamatát a tömb átméretezésének nevezik.

Tegyük fel, hogy van egy A tömb 4 cellaértékkel, akkor azt definiáljuk;

  • Dim A (3) mint dupla

Mint láthatjuk, az összes cellának „0” van tárolt értéke. Tegyük fel, hogy ha a Dim A-t 3 cellaadattal újratermeljük és az értéket tároljuk, akkor az alábbiak szerint néz ki.

  • ReDim B (2) mint dupla

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

Úgy fog kinézni;

Most, ha cellákat akarunk hozzáadni, meg tudjuk csinálni. Ezután automatikusan „0” -ot rendel hozzá a cellákhoz. A ReDim megvalósításához nyomja meg az Alt + F11 billentyűt a VBA ablak megnyitásához. És a Beszúrás menüből válassza a Modul lehetőséget, és nyisson meg egy új ablakot az alább látható módon.

Most nyissa meg az alkategóriát, és adjon hozzá bármilyen nevet. Ahogy a ReDim-et használjuk, így UseReDim- nek neveztük el .

Kód:

 Sub UseReDim () Sub 

Most, mielőtt meghatározná a ReDim-et, először határozza meg az egész számot. Itt definiáltuk „A” -ként, tömbhosszúsággal 3. És tároljon néhány értéket egy létrehozott 3 cellából álló tömbbe, az alább látható módon.

Kód:

 Sub használataReDim () Dim A (2) egész számként ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 End Sub 

Az A egész számban tárolt értékek kinyomtatásakor létre kell hoznunk az üzenet mezőt az MsgBox parancs segítségével, az alább látható módon.

Kód:

 Sub használataReDim () Dim A (2) egész számként A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) Vége Sub 

Most futtassa a kódot a lejátszás gombra vagy az F5 gombra kattintva, az alább látható módon.

Most a ReDim programot fogjuk használni, és a megadott karaktereket a tömbben tárolja. Erre a célra a ReDim a megadott egész számhoz. Először eltávolítjuk a definiált cellák számát a Dim-ből. A Redim funkció használata a következő:

  • A ReDim A (2) -et A ( 0), A (1), A (2) sejtsorozathoz használják.
  • A ReDim A (4) -et A ( 0), A (1), A (2), A (3), A (4) sejtekhez használják, két extra dummy cellával.

Kód:

 Sub használataReDim () Dim A () egész számként ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) Sub befejezés 

Ha kész, akkor futtassa a teljes kódot a lejátszás gombra kattintva vagy az F5 billentyűvel. A teljes kód futtatása után 3 üzenetdobozt fogunk elhelyezni, de csak „0” -ot tartalmazó üzenettel, az alább látható módon.

Ennek oka az, hogy a ReDimnek valójában csak 3 értéke van, de nem tartalmazott tárolt értékeket meghatározott egész számok alatt. Csak a Redim használatával nem tárol semmilyen értéket, és a korábban tárolt értékeket átviszi bele. Ehhez meg kell őrizni a meghatározott A egész értékeket a ReDim segítségével. A VBA Preserve használatával az értéket ReDim-ben tárolhatjuk. Ehhez hozzá fogjuk adni a megőrzést a ReDim után az alább látható VBA Codeasban.

Kód:

 Sub UseReDim () Dim A () Egész számként 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) Sub befejezés 

Most futtassa újra a teljes kódot. 3 üzenetdobozt fogunk látni, az összes tárolt értékkel együtt, az alábbiak szerint.

Gondolkodnia kell azon, hogy miért használtuk az A (4) -et a ReDim Preserve-rel?

Az alábbiakban ismertetjük. Ahol a tömb 1., 2. és 3. helyét az 1., 2. és 3. érték veszi fel. És a 4. és 5. pozíció, amely az A tömb 3 és 4 számát képviseli, dummy cellák. Ami azt jelenti, ha nincs tárolt adat a 4. és 5. pozícióban, akkor automatikusan figyelembe veszi a „0” értéket, és az üzenet nem kerül kitöltésre.

Ha megpróbáljuk megtekinteni a ReDim tömb negyedik és ötödik helyzetében tárolt értékeket, akkor ehhez a 2 pozícióhoz is üzenetadatot kell beilleszteni.

Kód:

 Sub UseReDim () Dim A () Egész számként 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 

Ahogy hozzáadtuk az üzenet dobozát a 4. és 5. pozícióba, anélkül, hogy bármilyen értéket tárolnánk. Most futtassa újra a kódot.

Amint a fenti képernyőképekből láthatjuk, a 4. és az 5. pozícióhoz üzenődobozokat kaptunk, de az érték „0”. Ami azt jelenti, hogy magyarázza a fenti állítást. Ha nincs megadva érték, akkor a ReDim Preserve automatikusan figyelembe veszi és kitölti a „0” értéket a többi cellában.

VBA ReDim - 2. példa

Most lássuk, hogyan lehet használni a ReDim nyilatkozatot karakterlánccal, egész szám helyett.

Kód:

 Sub UseReDim () Dim A () String ReDim A (3) A (0) = "Customer" A (1) = "Product" A (2) = "Product Id" ReDim Preserve A (4) MsgBox A (0) ) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) End Sub 

Ha kész, futtassa a teljes kódot F5 billentyűvel vagy manuálisan, az alább látható módon.

Amint azt a fenti képernyőképen láthatjuk, az összes meghatározott és tárolt karaktert az első 3 üzenet mezőbe kapjuk. És a 4. és 5. dobozban semmit sem kapunk. Mivel a ReDim nem tárol értéket, ha nincs megadva. Az egész számok esetében „0” -ként fog megjelenni, de a String esetén csak üres üzeneteket jelenít meg.

Az Excel VBA ReDim előnyei

  • A VBA ReDim lehetővé teszi a dimenzióértékek újradefiniálását.
  • Meghatározhatunk olyan dimenziós tömböket, amelyeknek nulla vagy nulla értéke van, és az értékeket később tárolhatjuk.
  • ReDim jelentése A Re-Dimensioning lehetővé teszi tetszőleges számú adattömb hozzáadását anélkül, hogy növelné a tárolt adatok méretét.

Dolgok, amikre emlékezni kell

  • Mindig ne felejtsen el hozzáadni a Tartalomvételt a ReDim után a VBA-ban, hogy az eltárolja a korábban használt méreteket.
  • Ha egy méretet String-ként definiálunk, akkor az értékek hozzárendelésénél üresen hagyott pozíció üresen fog maradni, és ha egyszer ugyanezt kinyomtatjuk az üzenetdoboz segítségével, akkor az üres üzenetdobozt is ad.
  • Ha definiáltuk a Dim dimenziókat 3 karakterrel vagy cellás értékekkel, akkor a ReDimben tetszőleges számú dimenziót használhatunk, amelyek a Dim-ben már definiált és tárolt értékeket tartalmaznak.

Ajánlott cikkek

Ez egy útmutató az Excel VBA ReDim programhoz. Itt megvitattuk, hogyan lehet a VBA ReDim nyilatkozatot használni a szóközök eltávolításához, néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket is -

  1. Hogyan kell használni a VBA hibanyilatkozatot?
  2. Számformátum a VBA-ban
  3. Hogyan kell használni a VBA Find Function funkciót?
  4. VBA TRIM funkció

Kategória: