/ / Dynamic Array Excel VBA: ssa

Dynamic Array Excel VBA: ssa

Jos taulukon koko kasvaa ja et halua korjata taulukon kokoa, voit käyttää sitä ReDim-avainsana. Excel VBA sitten muuttaa taulukon kokoa automaattisesti.

Lisää joitakin numeroita sarakkeeseen A.

Dynamic Array Excel VBA: ssa

Aseta komentopainike laskentatauluun ja lisää seuraavat koodiluokat:

1. Ensin mainitsemme taulukon nimeltä numerot. Ilmoita myös kaksi tyypin Integer-muuttujaa. Yksi nimetty koko ja yksi nimeltään i.

Dim numbers() As Integer, size As Integer, i As Integer

Huomaa: taulukko ei ole vielä koossa. numerot, koko ja i valitaan satunnaisesti, voit käyttää mitä tahansa nimeä. Muista viitata näihin nimiin muussa koodissa.

2. Seuraavaksi määritetään taulukon koko ja tallennetaan se muuttujan kokoon. Tätä varten voidaan käyttää laskentataulukkoa CountA. Lisää seuraava koodirivi:

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

3. Tiedämme nyt taulukon koko ja voimme redimension sitä. Lisää seuraava koodirivi:

ReDim numbers(size)

4. Seuraavaksi alustetaan taulukon jokainen osa. Käytämme silmukkaa.

For i = 1 To size
    numbers(i) = Cells(i, 1).Value
Next i

5. Näytämme taulukon viimeisen elementin MsgBoxin avulla.

MsgBox numbers(size)

6. Poistu Visual Basic -editorista ja napsauta arkistosta komentopainiketta.

Tulos:

Viimeinen elementti sarjasta

7. Nyt selvästi nähdä, miksi tätä kutsutaan dynaamiseksi taulukoksi, lisää numero sarakkeeseen A.

Lisää numero

8. Napsauta komentopainiketta uudelleen.

Dynaaminen Array-tulos

Johtopäätös: Excel VBA on automaattisesti muuttanut tämän dynaamisen taulukon kokoa.

9. Kun käytät ReDim-avainsanaa, poistat nykyiset tiedot ryhmään tallennetuista tiedoista. Lisää esimerkiksi seuraavat koodiluokat aiemmin luodulle koodille:

ReDim numbers(3)
MsgBox numbers(1)

Tulos:

Ilman säilyttämistä

Joukko on tyhjä.

10. Kun haluat säilyttää nykyisen taulukon tiedot, kun olet pienentää sitä, käytä Säilytä-avainsanaa.

ReDim Preserve numbers(3)
MsgBox numbers(1)

Tulos:

Säilytä

Lue myös: