Excel VBA ReDim

Pomocou VBA Redim môžeme upraviť počet prvkov v poli. Redim nie je funkciou, je to program prideľovania dynamickej pamäte prostredníctvom príkazu Redim. Keď použijeme Redim, ponecháme si na uloženie údajov určité množstvo pamäte.

Ako používať vyhlásenie VBA ReDim?

Budeme diskutovať o tom, ako používať vyhlásenie VBA ReDim pomocou niekoľkých príkladov.

Túto šablónu VBA ReDim Excel si môžete stiahnuť tu - šablónu VBA ReDim Excel

VBA ReDim - Príklad č. 1

Keď použijeme Dim pre pole, nemôžeme zmeniť hodnotu ukladania údajov v poli. Ale keď použijeme Redim, môžeme zmeniť uloženú hodnotu v poli. Tento proces zmeny poľa sa nazýva zmena dimenzie poľa.

Predpokladajme, že máme pole A so 4 bunkovou hodnotou, potom bude definované;

  • Dim A (3) Dvojnásobne

Ako vidíme, všetky bunky majú „0“ ako uloženú hodnotu. Teraz predpokladajme, že ak zredimujeme Dim A pomocou 3 bunkových údajov a uložíme do nich hodnotu, bude to vyzerať takto.

  • Zmienka B (2) ako dvojitá

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

Bude to vyzerať ako;

Ak teraz do nej chceme pridať bunky, môžeme to urobiť. Potom týmto bunkám automaticky priradí „0“. Pre implementáciu ReDimu stlačte Alt + F11 a otvorte okno VBA. Z ponuky Vložiť vyberte možnosť Modul a otvorí sa nové okno, ako je uvedené nižšie.

Teraz otvorte podkategóriu a pridajte ľubovoľný názov. Pretože používame ReDim, pomenovali sme ho UsingReDim .

kód:

 Sub UsingReDim () End Sub 

Pred definovaním ReDimu najskôr definujte akékoľvek celé číslo. Tu sme ho definovali ako „A“ s dĺžkou poľa 3. A niektoré hodnoty uložíme do vytvoreného poľa 3 buniek, ako je uvedené nižšie.

kód:

 Sub UsingReDim () Dim A (2) ako celé číslo ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 End Sub 

Teraz tlačíme hodnoty uložené v Integer A, musíme vytvoriť okno správy pomocou príkazu MsgBox, ako je to znázornené nižšie.

kód:

 Sub UsingReDim () Dim A (2) Ako celé číslo A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Teraz spustite kód kliknutím na tlačidlo prehrávania alebo klávesu F5, ako je to znázornené nižšie.

Teraz použijeme ReDim a do poľa sa uložia viac ako definované znaky. Pre toto použitie ReDim pre definované celé číslo A. Najprv odstránime definovaný počet buniek z Dim. Funkcia Redim je nasledovná:

  • ReDim A (2) sa používa pre pole buniek A (0), A (1), A (2) .
  • ReDim A (4) sa používa pre bunky A (0), A (1), A (2), A (3), A (4) s dvoma extra fiktívnymi bunkami.

kód:

 Sub UsingReDim () Dim A () ako celé číslo ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Po dokončení spustite celý kód kliknutím na tlačidlo Prehrať alebo pomocou klávesu F5. Po spustení celého kódu dostaneme 3 okná správ, ale so správou obsahujúcou iba „0“, ako je uvedené nižšie.

To preto, lebo ReDim má v skutočnosti iba 3 hodnoty, ale niesol uložené hodnoty pod definovanými celými číslami. Použitím funkcie Redim sa neuložia žiadne hodnoty a do nej sa prenesú predtým uložené hodnoty. Aby sme to isté aplikovali, musíme zachovať hodnoty definovaného celého čísla A pomocou ReDim. Použitím funkcie Zachovať vo VBA môžeme hodnotu uložiť do ReDim. Z tohto dôvodu pridáme Zachovať po ReDim vo VBA Codeas uvedených nižšie.

kód:

 Sub UsingReDim () Dim A () ako celé číslo ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim Zachovanie A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Teraz znova spustite celý kód. Uvidíme 3 okná so všetkými uloženými hodnotami, ako je to znázornené nižšie.

Teraz musíte premýšľať, prečo sme použili A (4) s ReDim Preserve?

Nižšie je uvedené vysvetlenie. Ak je 1., 2. a 3. pozícia poľa obsadená hodnotami 1, 2 a 3. A 4. a 5. pozícia, ktorá predstavuje 3 a 4 počet polí A, sú figuríny. Čo znamená, že ak nie sú uložené dáta na 4. a 5. pozícii, potom automaticky zváži hodnotu „0“ a správa nebude obsadená.

Ak sa pokúsime vidieť hodnoty uložené na 4. a 5. pozícii poľa ReDim, musíme do týchto dvoch pozícií vložiť aj okno s hlásením.

kód:

 Sub UsingReDim () Dim A () ako celé číslo ReDim A (3) A (0) = 1 A (1) = 2 A (2) = 3 ReDim Zachovanie A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) End Sub 

Ako sme pridali správu v rámčeku pre 4. a 5. pozíciu bez uloženia akejkoľvek hodnoty. Teraz spustite kód znova.

Ako vidíme na vyššie uvedených snímkach obrazovky, na 4. a 5. pozícii sme dostali hlásenia, ale hodnota sa zobrazuje ako „0“. Čo znamená vyššie uvedené vyhlásenie. Ak nie je definovaná žiadna hodnota, ReDim Preserve automaticky zváži a vyplní „0“ vo zvyšku buniek.

VBA ReDim - Príklad č. 2

Teraz sa pozrime, ako použiť ReDim Statement s String namiesto Integer.

kód:

 Sub UsingReDim () Dim A () ako ReDim ReDim A (3) A (0) = "Zákazník" A (1) = "Produkt" A (2) = "ID produktu" ReDim Zachovanie A (4) MsgBox A (0) ) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) End Sub 

Po dokončení spustite celý kód pomocou klávesu F5 alebo ručne, ako je to znázornené nižšie.

Ako vidíme na obrázku vyššie, dostávame všetky definované a uložené znaky do prvých 3 správ. A v 4. a 5. boxe nedostávame nič. Ako ReDim neukladá žiadnu hodnotu, ak nie je definovaná. Pre celé čísla sa bude odrážať ako „0“, ale pri reťazci bude zobrazovať iba prázdne správy.

Výhody programu Excel VBA ReDim

  • VBA ReDim nám umožňuje nanovo definovať hodnoty rozmerov.
  • Môžeme definovať toľko ako rozmerové polia bez nulovej alebo nulovej hodnoty a uložiť ich neskôr.
  • Význam ReDim Re-Dimensioning umožňuje využívať pridanie ľubovoľného počtu dátových polí bez zväčšenia veľkosti uložených dát.

Čo je potrebné pamätať

  • Nezabudnite do aplikácie VBA pridať položku Zachovať po ReDim, aby sa v nej uložili predtým použité dimenzie.
  • Ak je dimenzia definovaná ako String, potom akákoľvek pozícia ponechaná prázdna pri prideľovaní hodnôt, bude prázdna a akonáhle ju vytlačíme pomocou okna správy, tiež sa zobrazí prázdne okno správy.
  • Ak sme zadefinovali dimenzie Dim s 3 znakmi alebo bunkovými hodnotami, potom v ReDim môžeme použiť ľubovoľný počet rozmerov nesúcich už definované a uložené hodnoty v Dim.

Odporúčané články

Toto bol sprievodca Excel VBA ReDim. Tu sme diskutovali o tom, ako použiť VBA ReDim Statement na odstránenie medzier spolu s niekoľkými praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Ako používať VBA pri chybovom hlásení?
  2. Formát čísla vo VBA
  3. Ako používať funkciu vyhľadávania VBA?
  4. Funkcia VBA TRIM

Kategórie: