Excel VBA ReDim

Pomocí VBA Redim můžeme upravit počet prvků v poli. Redim není funkce, je to program dynamické alokace paměti pomocí příkazu Redim. Když použijeme Redim, zůstane určité množství paměti stranou pro uložení dat.

Jak používat prohlášení VBA ReDim?

Budeme diskutovat o tom, jak používat prohlášení VBA ReDim pomocí několika příkladů.

Tuto šablonu VBA ReDim Excel si můžete stáhnout zde - VBA ReDim Excel Template

VBA ReDim - Příklad č. 1

Když použijeme Dim pro pole, nemůžeme změnit hodnotu datového úložiště v poli. Ale když použijeme Redim, můžeme změnit uloženou hodnotu v poli. Tento proces změny pole se nazývá změna dimenze pole.

Předpokládejme, že máme pole A s hodnotou 4 buněk, pak bude definováno;

  • Dim A (3) Jako Double

Jak vidíme, všechny buňky mají jako uloženou hodnotu „0“. Předpokládejme, že pokud zredimujeme Dim A pomocí 3 buněčných dat a uložíme do něj hodnotu, bude to vypadat takto.

  • ReDim B (2) Jako Double

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

Vypadá to jako;

Nyní, pokud do něj chceme přidat buňky, můžeme to udělat. Poté těmto buňkám automaticky přiřadí „0“. Nyní pro implementaci ReDimu stiskněte Alt + F11 a otevřete okno VBA. Z nabídky Vložit vyberte možnost Modul a otevřete nové okno, jak je znázorněno níže.

Nyní otevřete podkategorii a přidejte libovolný název. Protože používáme ReDim, tak jsme pojmenovali jako UsingReDim .

Kód:

 Sub UsingReDim () End Sub 

Nyní před definováním ReDim nejprve definujte libovolné celé číslo. Zde jsme ji definovali jako „A“ s délkou pole 3. A uložte některé hodnoty do vytvořeného pole 3 buněk, jak je ukázáno níže.

Kód:

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

Nyní tiskneme hodnoty uložené v Integer A, musíme vytvořit okno zprávy pomocí příkazu MsgBox, jak je ukázáno níže.

Kód:

 Sub UsingReDim () Dim A (2) Jako Integer A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Nyní spusťte kód kliknutím na tlačítko přehrávání nebo klávesu F5, jak je ukázáno níže.

Nyní použijeme ReDim a uloží do pole více než definovaných znaků. Pro toto použití ReDim pro definované celé číslo A. Nejprve odstraníme definovaný počet buněk z Dim. Použití funkce Redim je následující:

  • ReDim A (2) se používá pro pole buněk A (0), A (1), A (2) .
  • ReDim A (4) se používá pro buňky A (0), A (1), A (2), A (3), A (4) se dvěma extra figuríny.

Kód:

 Sub UsingReDim () Dim A () jako 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í spusťte celý kód kliknutím na tlačítko Přehrát nebo pomocí klávesy F5. Jakmile spustíme celý kód, dostaneme 3 zprávy, ale se zprávou obsahující pouze „0“, jak je ukázáno níže.

Což je proto, že ReDim má ve skutečnosti pouze 3 hodnoty, ale nenosil uložené hodnoty pod definovanými celými čísly. Použití Redimu neukládá žádné hodnoty a do něj přenáší dříve uložené hodnoty. Abychom aplikovali totéž, musíme zachovat hodnoty definovaného celého čísla A pomocí ReDim. Pomocí Preserve ve VBA můžeme hodnotu uložit do ReDim. Za tímto účelem přidáme Zachovat po ReDim ve VBA Codeas níže.

Kód:

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

Nyní znovu spusťte celý kód. Uvidíme 3 schránky se všemi uloženými hodnotami, jak je ukázáno níže.

Nyní se musíte ptát, proč jsme použili A (4) s ReDim Preserve?

Níže je jeho vysvětlení. Kde 1., 2. a 3. poloha pole je obsazena hodnotami 1, 2 a 3. A 4. a 5. pozice, která představuje počet 3 a 4 pole A, jsou figuríny. Což znamená, že pokud nebudou uložena data na 4. a 5. pozici, bude automaticky brát v úvahu hodnotu „0“ a zpráva nebude naplněna.

Pokud se pokusíme vidět hodnoty uložené na 4. a 5. pozici pole ReDim, musíme také vložit okno zpráv pro tyto 2 pozice.

Kód:

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

Jak jsme přidali zprávu v rámečku na 4. a 5. pozici bez uložení jakékoli hodnoty. Nyní spusťte kód znovu.

Jak je vidět na výše uvedených screenshotech, na 4. a 5. pozici jsme dostali okna s hlášením, ale hodnota se zobrazuje jako „0“. Což znamená vysvětlení výše uvedeného tvrzení. Pokud není definována žádná hodnota, ReDim Preserve automaticky zváží a vyplní „0“ ve zbývajících buňkách.

VBA ReDim - Příklad č. 2

Nyní se podívejme, jak použít příkaz ReDim s řetězcem namísto Integer.

Kód:

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

Po dokončení spusťte celý kód pomocí klávesy F5 nebo ručně, jak je znázorněno níže.

Jak vidíme na výše uvedeném snímku obrazovky, dostáváme všechny definované a uložené znaky do prvních 3 polí zpráv. A ve 4. a 5. boxu nedostáváme nic. Jako ReDim ukládá žádnou hodnotu, pokud není definována. U celých čísel se bude odrážet jako „0“, ale u řetězce bude zobrazovat pouze prázdné zprávy.

Výhody aplikace Excel VBA ReDim

  • VBA ReDim nám umožňuje předefinovat hodnoty kót.
  • Můžeme definovat tolik jako rozměrová pole s nulovou nebo nulovou hodnotou a uložit hodnoty později.
  • Význam ReDim Re-Dimensioning umožňuje využívat přidávání libovolného počtu datových polí bez zvětšení velikosti uložených dat.

Věci na zapamatování

  • Vždy pamatujte na přidání Zachovat po ReDimu do VBA, aby uložil dříve použité rozměry.
  • Je-li dimenze definována jako String, pak jakákoli pozice ponechaná prázdná při přiřazování hodnot, bude prázdná a jakmile ji vytiskneme pomocí okna zprávy, dá se také prázdné okno zprávy.
  • Pokud jsme definovali kóty Dim pomocí 3 znaků nebo hodnot buněk, pak v ReDim můžeme použít libovolný počet kót nesoucích již definované a uložené hodnoty v Dim.

Doporučené články

Toto byl průvodce Excel VBA ReDim. Zde jsme diskutovali o tom, jak pomocí příkazu VBA ReDim Statement odstranit mezery, spolu s několika praktickými příklady a šablonou Excel ke stažení. Můžete také projít naše další doporučené články -

  1. Jak používat chybové hlášení VBA?
  2. Formát čísla ve VBA
  3. Jak používat funkci vyhledávání VBA?
  4. Funkce VBA TRIM

Kategorie: