Excel VBA'da Dinamik Dizi - Kolay Excel Makroları

İçindekiler

Dizinizin boyutu artarsa ​​ve dizinin boyutunu düzeltmek istemiyorsanız, ReDim anahtar kelimesi. Excel VBA'sı ardından dizinin boyutunu otomatik olarak değiştirir.

A sütununa bazı sayılar ekleyin.

Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

1. İlk olarak, sayılar isimli diziyi tanımlıyoruz. Ayrıca Integer türünde iki değişken tanımlayın. Bir adlandırılmış boyut ve bir i adlı.

Dim sayılar() As Integer, Size As Integer, i As Integer

Not: dizinin henüz boyutu yok. sayılar, boyut ve ben burada rastgele seçilmiştir, herhangi bir isim kullanabilirsiniz. Kodunuzun geri kalanında bu adlara başvurmayı unutmayın.

2. Ardından dizinin boyutunu belirliyoruz ve onu değişken boyuta kaydediyoruz. Bunun için CountA çalışma sayfası işlevini kullanabilirsiniz. Aşağıdaki kod satırını ekleyin:

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

3. Artık dizinin boyutunu biliyoruz ve onu yeniden boyutlandırabiliriz. Aşağıdaki kod satırını ekleyin:

ReDim numaraları (boyut)

4. Ardından, dizinin her bir öğesini başlatırız. Bir döngü kullanıyoruz.

i = 1 için boyut
sayılar(i) = Hücreler(i, 1).Değer
sonraki ben

5. Dizinin son elemanını MsgBox kullanarak gösteriyoruz.

MsgBox numaraları(boyut)

6. Visual Basic Düzenleyicisi'nden çıkın ve sayfadaki komut düğmesine tıklayın.

Sonuç:

7. Şimdi buna neden dinamik dizi denildiğini açıkça görmek için A sütununa bir sayı ekleyin.

8. Komut düğmesine tekrar tıklayın.

Sonuç: Excel VBA, bu dinamik dizinin boyutunu otomatik olarak değiştirdi.

9. ReDim anahtar sözcüğünü kullandığınızda, dizide halihazırda depolanmış olan tüm mevcut verileri silersiniz. Örneğin, önceden oluşturulmuş koda aşağıdaki kod satırlarını ekleyin:

ReDim numaraları(3)
MsgBox numaraları(1)

Sonuç:

Dizi boş.

10. Yeniden boyutlandırdığınızda mevcut dizideki verileri korumak istediğinizde, Preserve anahtar sözcüğünü kullanın.

ReDim Rakamları koru(3)
MsgBox numaraları(1)

Sonuç:

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave