Excel VBA ReDim

Putem ajusta numărul de elemente dintr-un tablou prin VBA Redim. Redim nu este o funcție, este un program de alocare dinamică a memoriei prin declarația Redim. Când folosim Redim, o cantitate specifică de memorie este păstrată deoparte pentru a stoca datele.

Cum se folosește declarația VBA ReDim?

Vom discuta despre modul de utilizare a VBA ReDim Declarație folosind câteva exemple.

Puteți descărca acest șablon VBA ReDim Excel aici - șablonul VBA ReDim Excel

VBA ReDim - Exemplul # 1

Când folosim Dim pentru un tablou, nu putem modifica valoarea stocării de date dintr-un tablou. Dar când folosim Redim, putem schimba valoarea stocată într-un tablou. Acest proces de modificare a tabloului se numește re-dimensionarea tabloului.

Să presupunem că avem un tablou A de 4 celule, atunci acesta va fi definit cu;

  • Dim A (3) Ca dublu

După cum putem vedea, toate celulele au „0” ca valoare stocată. Acum, să presupunem că redimensionăm Dim A cu 3 celule și stocăm valoarea în ea, atunci va arăta ca mai jos.

  • ReDim B (2) Ca dublu

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

Va arata ca;

Acum, dacă dorim să adăugăm celule în ea, o putem face. Apoi va atribui automat „0” acelei celule. Acum pentru a implementa ReDim, apăsați Alt + F11 pentru a deschide VBA Window. Și din meniul Insert, selectați opțiunea Module pentru a deschide o fereastră nouă, așa cum se arată mai jos.

Acum deschideți Subcategoria și adăugați orice nume. Pe măsură ce folosim ReDim, așa că am numit UseReDim .

Cod:

 Sub UseReDim () End Sub 

Acum înainte de a defini ReDim, mai întâi definiți orice număr întreg. Aici am definit-o drept „A” cu lungimea tabloului 3. Și stocăm unele valori într-un tablou creat de 3 celule, așa cum se arată mai jos.

Cod:

 Sub UtilizareReDim () Dim A (2) Ca număr întreg ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 End final 

Acum tipărirea valorilor stocate în Integer A trebuie să creăm caseta de mesaj cu ajutorul MsgBox, după cum se arată mai jos.

Cod:

 Sub UseReDim () Dim A (2) Ca număr întreg A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Acum rulați codul făcând clic pe butonul de redare sau pe tasta F5, așa cum se arată mai jos.

Acum vom folosi ReDim și va stoca mai multe caractere decât cele definite în tablou. Pentru această utilizare ReDim pentru Integer definit A. În primul rând, vom elimina numărul de celule definit din Dim. Utilizarea funcției Redim este următoarea:

  • ReDim A (2) este utilizat pentru tabloul de celule A (0), A (1), A (2) .
  • ReDim A (4) se folosește pentru celulele A ( 0), A (1), A (2), A (3), A (4) cu două celule în plus manechin.

Cod:

 Sub UtilizareReDim () Dim A () Ca număr întreg 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 final 

Odată terminat, executați codul complet făcând clic pe butonul redare sau folosind tasta F5. Odată ce rulăm codul complet, vom avea 3 căsuțe de mesaje, dar cu un mesaj care conține doar „0” așa cum se arată mai jos.

Ceea ce se datorează faptului că ReDim are de fapt doar 3 valori, dar nu transporta valori stocate sub numere întregi definite. Folosind Redim nu stochează doar valori și nu transmite în el valorile stocate anterior. Pentru a aplica același lucru, trebuie să păstrăm valorile întregului A definit, cu ReDim. Folosind Preserve în VBA, putem stoca valoarea în ReDim. Pentru aceasta, vom adăuga Conservare după ReDim în VBA Codeas, prezentate mai jos.

Cod:

 Sub UtilizareReDim () Dim A () Ca Integer ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim Preserva A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Acum rulați codul complet din nou. Vom vedea 3 căsuțe de mesaj cu toate valorile stocate în ea, așa cum se arată mai jos.

Acum, trebuie să vă întrebați de ce am folosit A ​​(4) cu ReDim Preserve?

Mai jos este explicația. În cazul în care poziția 1, 2 și 3 a poziției tabloului este ocupată cu valorile 1, 2 și, respectiv, 3. Și a 4- a și a 5- a poziție care reprezintă 3 și 4 număr de tablă A sunt celule manechin. Ceea ce înseamnă că, dacă nu sunt stocate date a 4- a și a 5- a poziție, atunci va lua în considerare automat valoarea „0” și mesajul nu va fi populat.

Dacă încercăm să vedem valorile stocate în a 4- a și a 5- a poziție a tabloului ReDim, atunci trebuie să introducem și o casetă de mesaje pentru aceste 2 poziții.

Cod:

 Sub UtilizareReDim () Dim A () Ca Integer ReDim A (3) A (0) = 1 A (1) = 2 A (2) = 3 ReDim Preserva A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) End Sub 

Așa cum am adăugat un mesaj în cutie pentru a 4- a și a 5- a poziție, fără a stoca nicio valoare. Acum rulați din nou codul.

După cum se poate observa în capturile de ecran de mai sus, pentru a 4- a și a 5- a poziție am obținut cutii de mesaje, dar valoarea este afișată ca „0”. Ceea ce înseamnă că explică afirmația de mai sus. Dacă nu există nicio valoare definită, ReDim Preserve va lua în considerare și completează automat „0” în restul celulelor.

VBA ReDim - Exemplul # 2

Acum să vedem cum se folosește declarația ReDim cu String în loc de Integer.

Cod:

 Sub UseReDim () Dim A () ca șir de caractere ReDim A (3) A (0) = "Client" A (1) = "Produs" A (2) = "Id produs" ReDim Preserve A (4) MsgBox A (0) ) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) End Sub 

Odată terminat, apoi executați codul complet folosind tasta F5 sau manual, așa cum se arată mai jos.

După cum putem vedea în ecranul de mai sus, obținem toate caracterele definite și stocate în primele 3 căsuțe de mesaje. Iar în a 4- a și a 5- a cutie nu primim nimic. Deoarece ReDim nu stochează nicio valoare dacă nu este definit. Pentru Integers, acesta va reflecta ca „0”, dar cu String, va afișa doar mesaje necompletate.

Pro Excel VBA ReDim

  • VBA ReDim ne permite să redefinim valorile dimensiunii.
  • Putem defini cât mai multe matrice dimensionale fără valoare sau zero și să stocheze valorile mai târziu.
  • ReDim însemnând Re-Dimensionarea oferă folosirea alocațiilor pentru adăugarea oricăror numere de matrice de date fără a crește dimensiunea datelor stocate.

Lucruri de amintit

  • Amintiți-vă întotdeauna să adăugați Conservare după ReDim în VBA, astfel încât să stocheze dimensiunile folosite anterior.
  • Dacă o dimensiune este definită drept String, atunci orice poziție rămasă necompletată în atribuirea valorilor, va purta gol și odată ce vom imprima aceeași cu ajutorul căsuței de mesaj va da și caseta de mesaj necompletată.
  • Dacă am definit dimensiunile Dim cu 3 caractere sau valori de celulă, atunci în ReDim putem folosi orice număr de dimensiuni care transportă valori deja definite și stocate în Dim.

Articole recomandate

Acesta a fost un ghid pentru Excel VBA ReDim. Aici am discutat despre cum să folosiți VBA ReDim Declarație pentru a elimina spațiile împreună cu câteva exemple practice și șablonul excel descărcabil. Puteți parcurge și alte articole propuse -

  1. Cum se utilizează VBA la declarația de eroare?
  2. Formatul numărului în VBA
  3. Cum se utilizează funcția Căutare VBA?
  4. Funcția VBA TRIM

Categorie: