Excel VBA ReDim

Broj elemenata u nizu možemo prilagoditi putem VBA Redim. Redim nije funkcija, to je program za dinamičku raspodjelu memorije putem Redim izjave. Kad koristimo Redim, zadržava se određena količina memorije za pohranjivanje podataka.

Kako se koristi VBA ReDim Izjava?

Razgovarat ćemo o tome kako koristiti VBA ReDim izjavu pomoću nekih primjera.

Možete preuzeti ovaj VBA ReDim Excel predložak ovdje - VBA Predložak ReDim Excel

VBA ReDim - Primjer # 1

Kad koristimo Dim za niz, ne možemo promijeniti vrijednost pohrane podataka u nizu. Ali kad koristimo Redim, možemo promijeniti pohranjenu vrijednost u nizu. Taj se postupak promjene matrice naziva ponovno dimenzioniranje matrice.

Pretpostavimo da imamo niz A vrijednosti 4 ćelije, onda će biti definiran sa;

  • Dim A (3) kao dvostruko

Kao što vidimo, sve ćelije imaju "0" kao pohranjenu vrijednost. Pretpostavimo da ako ponovo ugradimo Dim A s 3 ćelijske podatke i pohranimo u njega vrijednost, tada će izgledati kao dolje.

  • ReDim B (2) kao dvostruki

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

Izgledat će kao;

Ako želimo dodati stanice u to, možemo to učiniti. Tada će automatski dodijeliti "0" tim ćelijama. Sada za implementaciju ReDima, pritisnite Alt + F11 da biste otvorili VBA prozor. A iz izbornika Umetanje odaberite opciju Modul za otvaranje novog prozora kao što je prikazano u nastavku.

Sada otvorite potkategoriju i dodajte bilo koje ime. Kako koristimo ReDim, tako smo ga i nazvali UsingReDim .

Kodirati:

 Sub KorištenjeReDim () Kraj sub 

Prije nego što definirate ReDim, prvo definirajte bilo koji Integer. Ovdje smo to definirali kao "A" s duljinom niza 3. I pohranite neke vrijednosti u stvoreni niz od 3 ćelije kao što je prikazano u nastavku.

Kodirati:

 Sub KorištenjeReDim () dim A (2) kao cijeli broj ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 krajnji pot 

Sada ispisujemo vrijednosti pohranjene u Integeru A moramo stvoriti okvir s porukama uz pomoć naredbe MsgBox kao što je prikazano u nastavku.

Kodirati:

 Sub KorištenjeReDim () dim A (2) kao cijeli broj A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) krajnji sub 

Sada pokrenite kôd klikom na gumb za reprodukciju ili tipku F5 kao što je prikazano u nastavku.

Sada ćemo koristiti ReDim i on će pohraniti više od definiranih znakova u niz. Za ovu uporabu ReDim za definirani Integer A. Prvo ćemo ukloniti definirani broj ćelija iz Dim. Uporaba Redim funkcije je sljedeća:

  • ReDim A (2) koristi se za niz A (0), A (1), A (2) .
  • ReDim A (4) koristi se za A (0), A (1), A (2), A (3), A (4) stanice s dvije dodatne stanične stanice.

Kodirati:

 Sub KorištenjeReDim () Dim A () Kao cijeli ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) Kraj Sub 

Nakon završetka pokrenite čitav kôd klikom na gumb za reprodukciju ili pomoću tipke F5. Nakon što pokrenemo kompletan kôd, bit ćemo u 3 okvira s porukom, ali s porukom koja sadrži samo "0" kao što je prikazano u nastavku.

To je zato što ReDim zapravo ima samo 3 vrijednosti, ali nije nosio pohranjene vrijednosti pod definiranim cijelim brojevima. Korištenje Redima samo ne pohranjuje nikakve vrijednosti i prenosi u njega prethodno pohranjene vrijednosti. Da bismo to primijenili moramo sačuvati vrijednosti definiranog cijelog broja A, uz pomoć ReDim. Upotrebom Preserve u VBA, vrijednost možemo pohraniti u ReDim. Za to ćemo dodati Vrijednost nakon ReDima u VBA Codeas prikazanom u nastavku.

Kodirati:

 Sub KorištenjeReDim () Dim A () Kao cijeli ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim sačuvaj A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) Krajnji sub 

Sada ponovo pokrenite kompletan kod. Vidjet ćemo 3 okvira s porukama sa svim pohranjenim vrijednostima u njemu kao što je prikazano u nastavku.

Sigurno se pitate zašto smo s ReDim rezervom koristili A (4)?

Ispod je objašnjenje. Tamo gdje je 1., 2. i 3. položaj polja zauzeta vrijednostima 1, 2 i 3. I četvrti i peti položaj koji predstavlja 3 i 4 broja niza A, su lutke. Što znači, ako nema podataka pohranjenih na 4. i 5. mjestu, automatski će razmotriti vrijednost „0“ i poruka se neće napuniti.

Ako pokušamo vidjeti vrijednosti pohranjene na 4. i 5. poziciji ReDim polja, tada trebamo umetnuti i okvir za poruke za ta dva položaja.

Kodirati:

 Sub KorištenjeReDim () Dim A () Kao cijeli ReDim A (3) A (0) = 1 A (1) = 2 A (2) = 3 ReDim očuvanje A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) Krajnji sub 

Kao što smo dodali poruku u kutiji za 4. i 5. poziciju bez pohranjivanja nikakve vrijednosti. Sada ponovo pokrenite kod.

Kao što vidimo na gornjim snimkama zaslona, ​​za 4. i 5. mjesto dobili smo okvire za poruke, ali vrijednost je prikazana kao "0". Što znači da objašnjava gornju tvrdnju. Ako nema definirane vrijednosti, tada će ReDim Preserve automatski razmotriti i popuniti "0" u ostalim ćelijama.

VBA ReDim - Primjer # 2

Sada ćemo vidjeti kako koristiti ReDim izjavu sa Stringom umjesto Integer-a.

Kodirati:

 Sub KorištenjeReDim () dim A () kao niz ReDim A (3) A (0) = "kupac" A (1) = "proizvod" A (2) = "id proizvoda" ReDim sačuvaj A (4) MsgBox A (0 ) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) Krajnji sub 

Nakon završetka pokrenite kompletni kôd pomoću tipke F5 ili ručno kako je prikazano u nastavku.

Kao što vidimo na gornjoj snimci zaslona, ​​dobivamo sve definirane i pohranjene znakove u prva 3 okvira s porukama. I u četvrtoj i petoj kutiji ne dobijamo ništa. Kako ReDim pohranjuje vrijednost ako nije definirana. Za Integers će se prikazati kao "0", ali uz String, prikazat će samo prazne poruke.

Prosci Excel VBA ReDim

  • VBA ReDim omogućava nam redefiniranje vrijednosti dimenzija.
  • Možemo definirati onoliko dimenzijskih nizova bez i jedne i nulte vrijednosti te ih pohraniti kasnije.
  • ReDim što znači Re-Dimensioning omogućuje korištenje dodavanja bilo kojeg broja nizova podataka bez povećanja veličine pohranjenih podataka.

Stvari koje treba zapamtiti

  • Uvijek dodajte sačuvati nakon ReDim u VBA, tako da ona pohranjuje prethodno korištene dimenzije.
  • Ako je dimenzija definirana kao String, tada će svaka pozicija koja je ostala pri dodjeli vrijednosti biti prazna, a nakon što ispisujemo istu uz pomoć okvira okvira, dat će se i prazan okvir za poruke.
  • Ako smo dimenzije Dim definirali s 3 znaka ili vrijednosti ćelije, tada u ReDimu možemo upotrijebiti bilo koji broj dimenzija koje nose već definirane i pohranjene vrijednosti u Dim-u.

Preporučeni članci

Ovo je vodič za Excel VBA ReDim. Ovdje smo raspravljali o tome kako koristiti VBA ReDim Izjavu za uklanjanje razmaka zajedno s nekim praktičnim primjerima i besplatnim excel predložakom. Možete i pregledati ostale naše predložene članke -

  1. Kako koristiti VBA o izjavi o pogrešci?
  2. Format broja u VBA
  3. Kako koristiti VBA funkciju pronalaska?
  4. VBA TRIM funkcija

Kategorija: