/ / Dinamiskā masīvs programmā Excel VBA

Dynamic Array programmā Excel VBA

Ja masīva lielums palielinās, un jūs nevēlaties noteikt masīva lielumu, varat izmantot ReDim atslēgvārds. Excel VBA tad automātiski maina masīva lielumu.

Pievienot dažus numurus A slejai.

Dynamic Array programmā Excel VBA

Ievietojiet komandas pogu savā darblapā un pievienojiet šādas koda rindiņas:

1. Vispirms mēs deklarējam masīvu nosaukus numurus. Paziņojiet arī divus mainīgā lieluma tipus: vesels skaitlis. Viens nosaukts izmērs un viens nosaukts i.

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

Piezīme. Array vēl nav izmēra. Cipari, lielums un mani šeit ir izvēlēti nejauši, jūs varat izmantot visus vārdus. Neaizmirstiet atsaukties uz šiem nosaukumiem pārējā kodā.

2. Pēc tam mēs noteiksim masīva lielumu un saglabājam to mainīgā lielumā. Šajā nolūkā varat izmantot darblapas funkciju CountA. Pievienojiet šādu koda rindiņu:

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

3. Tagad mēs zinām masīva izmēru, un mēs to varam mainīt. Pievienojiet šādu koda rindiņu:

ReDim numbers(size)

4. Tālāk mēs inicializējam katru elementa masīvu. Mēs izmantojam cilpu.

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

5. Mēs parādām pēdējo elementu masīvā, izmantojot MsgBox.

MsgBox numbers(size)

6. Aizveriet Visual Basic Editor un noklikšķiniet uz lapas komandas pogas.

Rezultāts:

Pēdējais elements masīvā

7. Tagad, lai skaidri redzētu, kāpēc to dēvē par dinamisko masīvu, pievienojiet numuru A kolonnai.

Pievienot numuru

8. Noklikšķiniet uz komandu pogas vēlreiz.

Dinamiskais masīvs rezultāts

Secinājums: Excel VBA automātiski mainīja šī dinamiskā masīva lielumu.

9. Lietojot ReDim atslēgvārdu, jūs dzēšat visus esošos datus, kas pašlaik ir saglabāti masīvā. Piemēram, pievienojiet iepriekš norādītā koda koda rindas:

ReDim numbers(3)
MsgBox numbers(1)

Rezultāts:

Bez saglabāšanas

Masīvs ir tukšs.

10. Ja jūs vēlaties saglabāt esošajā masīvā esošos datus, kad to izmēru pārnest, izmantojiet saglabāšanas atslēgvārdu.

ReDim Preserve numbers(3)
MsgBox numbers(1)

Rezultāts:

Ar saglabāšanu

Lasīt arī: