Excel VBA ReDim

Voimme säätää taulukon elementtien määrää VBA Redim -sovelluksen avulla. Redim ei ole toiminto, se on dynaaminen muistin allokointiohjelma Redim-käskyn kautta. Kun käytämme Redim-sovellusta, tietty määrä muistia pidetään syrjään tietojen tallentamiseksi.

Kuinka käyttää VBA ReDim -lausetta?

Keskustelemme siitä, kuinka VBA ReDim -lausetta voidaan käyttää käyttämällä esimerkkejä.

Voit ladata tämän VBA ReDim Excel -mallin täältä - VBA ReDim Excel Template

VBA ReDim - esimerkki # 1

Kun käytämme Dim-taulukkoa, emme voi muuttaa taulukon tietovaraston arvoa. Mutta kun käytämme Redim-sovellusta, voimme muuttaa taulukon tallennettua arvoa. Tätä taulukon vaihtamisprosessia kutsutaan taulukon uudelleen mitoittamiseen.

Oletetaan, että meillä on taulukko A, jonka soluarvo on 4, niin se määritetään;

  • Dim A (3) kaksinkertaisena

Kuten näemme, kaikilla soluilla on ”0” tallennettuna arvona. Oletetaan nyt, että jos me redimmitämme Dim A: ta 3 solutiedolla ja tallennamme sen arvoon, se näyttää seuraavalta.

  • ReDim B (2) kaksinkertaisena

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

Se näyttää kuin;

Nyt jos haluamme lisätä soluja siihen, voimme tehdä sen. Sitten se määrittää automaattisesti ”0” kyseisille soluille. Nyt toteuttaaksesi ReDimin, paina Alt + F11 avataksesi VBA-ikkunan. Valitse Lisää-valikosta Moduuli-vaihtoehto avataksesi uuden ikkunan alla olevan kuvan mukaisesti.

Avaa nyt alaluokka ja lisää mikä tahansa nimi. Koska käytämme ReDim-ohjelmaa, niin meille on annettu nimi nimellä UsingReDim .

Koodi:

 Sub UsingReDim () Sub Sub 

Ennen kuin määrität ReDimin, määritä ensin kokonaisluku. Täällä olemme määritellyt sen “A”: ksi, jonka taulukon pituus on 3. Ja tallenna joitain arvoja luotuun 3 solun ryhmään, kuten alla on esitetty.

Koodi:

 Sub KäyttäminenReDim () Dim A (2) kokonaislukuna ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 End Sub 

Tulostamalla kokonaislukuun A tallennetut arvot, meidän on luotava viestiruutu MsgBox- komennon avulla, kuten alla on esitetty.

Koodi:

 Sub UsingReDim () Dim A (2) Koska Kokonaisluku A (0) = 1 A (1) = 2 A (2) = 3 MsgBox A (0) MsgBox A (1) MsgBox A (2) End Sub 

Suorita nyt koodi napsauttamalla toistopainiketta tai F5-näppäintä alla olevan kuvan mukaisesti.

Nyt käytämme ReDimiä ja se tallentaa taulukkoon enemmän kuin määritellyt merkit. Tätä varten määritetyn kokonaisluvun A ReDim-käyttö. Ensin poistamme määritetyn solumäärän Dimistä . Redim-toimintoa käytetään seuraavasti:

  • ReDim A: ta (2) käytetään A (0), A (1), A (2) -solujen ryhmään.
  • ReDim A: ta (4) käytetään A (0), A (1), A (2), A (3), A (4) -soluihin, joissa on kaksi ylimääräistä vale-solua.

Koodi:

 AlikäyttöReDim () Dim A () Kokonaisluku ReDim A (2) A (0) = 1 A (1) = 2 A (2) = 3 ReDim A (4) MsgBox A (0) MsgBox A (1) MsgBox A (2) Loppu alakohta 

Kun olet valmis, suorita koko koodi napsauttamalla toistopainiketta tai käyttämällä F5-näppäintä. Kun olet suorittanut täydellisen koodin, meille tulee 3 viestiruutua, mutta viesti sisältää vain ”0”, kuten alla on esitetty.

Joka johtuu siitä, että ReDimillä on oikeastaan ​​vain 3 arvoa, mutta siinä ei ole tallennettuja arvoja määriteltyjen kokonaislukujen alapuolella. Vain Redim-toiminnolla ei tallenneta mitään arvoja ja siirretään aiemmin tallennetut arvot siihen. Tämän soveltamiseksi meidän on säilytettävä määritellyn kokonaisluvun A arvot ReDimin avulla. Käyttämällä Preserve -sovellusta VBA: ssa voimme tallentaa arvon ReDim-sovellukseen. Tätä varten lisäämme Säilytä ReDimin jälkeen alla olevassa VBA Codeassa.

Koodi:

 AlikäyttöReDim () Dim A () Kokonaisluku 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) loppuosa 

Suorita nyt koko koodi uudelleen. Näemme 3 viestiruutua, joissa on kaikki tallennetut arvot alla esitetyllä tavalla.

Nyt sinun täytyy miettiä, miksi käytimme A (4) ReDim Preserven kanssa?

Alla selitetään se. Kun taulukon 1., 2. ja 3. sijainti on käytetty arvoilla 1, 2 ja 3. Ja 4. ja 5. asema, joka edustaa ryhmän A 3 ja 4 lukumäärää, ovat tyhjiä soluja. Mikä tarkoittaa, että jos 4. ja 5. sijaintia ei ole tallennettu, se harkitsee automaattisesti arvoa ”0” ja viestiä ei täytetä.

Jos yritämme nähdä ReDim-taulukon 4. ja 5. sijaintiin tallennetut arvot, meidän on lisättävä viestiruutu myös näihin 2 sijaintiin.

Koodi:

 AlikäyttöReDim () Dim A () Kokonaisluku 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 

Kuten olemme lisänneet viestin laatikkoon 4. ja 5. sijalle tallentamatta mitään arvoa. Suorita nyt koodi uudelleen.

Kuten näemme yllä olevista kuvakaappauksista, 4. ja 5. sijalle saimme viestiruudut, mutta arvo on ”0”. Mikä tarkoittaa, selittää yllä olevan väitteen. Jos arvoa ei ole määritetty, ReDim Preserve harkitsee automaattisesti ja täyttää “0” muissa soluissa.

VBA ReDim - esimerkki 2

Katsotaan nyt, kuinka ReDim-lausetta voidaan käyttää merkkijonon kanssa kokonaisluvun sijasta.

Koodi:

 Sub UseReDim () Dim A () merkkijonona ReDim A (3) A (0) = "Asiakas" A (1) = "Tuote" A (2) = "Tuotteen tunnus" ReDim Säilytä A (4) MsgBox A (0) ) MsgBox A (1) MsgBox A (2) MsgBox A (3) MsgBox A (4) End Sub 

Kun olet valmis, suorita koko koodi käyttämällä F5-näppäintä tai manuaalisesti alla olevan kuvan mukaisesti.

Kuten yllä olevassa kuvakaappauksessa voidaan nähdä, saamme kaikki määritellyt ja tallennetut merkit kolmeen ensimmäiseen viestiruutuun. Ja 4. ja 5. laatikossa emme saa mitään. Koska ReDim ei tallenna arvoa, jos sitä ei määritetä. Kokonaislukujen kohdalla se heijastaa arvoa “0”, mutta merkkijonolla se näyttää vain tyhjät viestit.

Plussa Excel VBA ReDim

  • VBA ReDim antaa meille mahdollisuuden määritellä mitta-arvot uudelleen.
  • Voimme määritellä jopa useita ulotteisia taulukkoja, joilla ei ole arvoa tai nolla arvoa, ja tallentaa arvot myöhemmin.
  • ReDim-merkitys Uudelleen mitoittaminen antaa mahdollisuuden lisätä minkä tahansa määrän tietojoukkoja lisäämättä tallennetun datan kokoa.

Muistettavat asiat

  • Muista aina lisätä Preserve ReDim -sovelluksen jälkeen VBA: hon, jotta se tallentaa aiemmin käytetyt mitat.
  • Jos mitta on määritelty merkkijonoksi, mikä tahansa arvoksi jättämättä jätetty paikka on tyhjä, ja kun tulostamme sen viestiruudun avulla, annamme myös tyhjän viestiruudun.
  • Jos olemme määritellyt mitat Dim kolmella merkillä tai soluarvoilla, niin ReDimissä voidaan käyttää mitä tahansa lukumäärää dimensioita, jotka sisältävät jo määritellyt ja tallennetut arvot Dimiin.

Suositellut artikkelit

Tämä on opas Excel VBA ReDim -sovellukseen. Tässä keskustelimme siitä, kuinka VBA ReDim -käskyä voidaan käyttää välilyöntien poistamiseen, sekä joitain käytännöllisiä esimerkkejä ja ladattavaa excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kuinka käyttää VBA-virheilmoitusta?
  2. Numeroformaatti VBA: ssa
  3. Kuinka käyttää VBA-hakutoimintoa?
  4. VBA TRIM -toiminto

Luokka: