VBA Dizisi nedir?
Bir dizi, birden fazla değeri depolayabilen bir bellek konumu olarak tanımlanır. Değerlerin tümü aynı veri türünde olmalıdır. En sevdiğiniz içeceklerin bir listesini tek bir değişkende saklamak istediğinizi varsayalım, bunu yapmak için VBA dizisini kullanabilirsiniz.
Bir dizi kullanarak, ilgili değerlere aynı adla başvurabilirsiniz. Bunları birbirinden ayırmak için bir dizin veya alt simge kullanabilirsiniz. Tek tek değerler, Excel VBA dizisinin öğeleri olarak adlandırılır. 0 dizininden en yüksek dizin değerine kadar bitişiktirler.
Bu eğitici, Microsoft Excel 2013 sürümünü kullandığınızı varsayar. Bilgiler, Microsoft Excel'in diğer sürümleri için de geçerlidir.
Bu VBA Programlama eğitiminde öğreneceksiniz-
- Dizilerin Avantajları Nelerdir?
- VBA'da Dizi Türleri
- Excel VBA'da Dizi nasıl kullanılır?
- Uygulamamızı test ediyoruz
Dizilerin Avantajları Nelerdir?
Aşağıdakiler, VBA dizi işlevi tarafından sunulan avantajlardan bazılarıdır
- Mantıksal olarak ilişkili verileri bir arada gruplayın - bir öğrenci listesi depolamak istediğinizi varsayalım. Öğrenci kategorileri için ayrı konumlara sahip tek bir dizi değişkeni kullanabilirsiniz, örneğin anaokulu, ilkokul, ortaokul, lise vb.
- Diziler, bakımı kolay kod yazmayı kolaylaştırır. Aynı mantıksal olarak ilişkili veriler için birden fazla değişken tanımlamak yerine tek bir değişken tanımlamanıza izin verir.
- Daha iyi performans - bir dizi tanımlandıktan sonra, verileri almak, sıralamak ve değiştirmek daha hızlıdır.
VBA'da Dizi Türleri
VBA, iki tür diziyi destekler;
- Statik - Bu tür diziler, depolanabilecek önceden belirlenmiş sabit sayıda öğeye sahiptir. Statik Dizinin veri türünün boyutu değiştirilemez. Haftadaki gün sayısı, cinsiyet vb. Gibi bilinen varlıklarla çalışmak istediğinizde bunlar kullanışlıdır.
Örneğin : Dim ArrayMonth (12) As String
- Dinamik - Bu tür diziler, depolanabilecek önceden belirlenmiş sabit sayıda öğeye sahip değildir. Numarayı önceden belirleyemeyeceğiniz varlıklarla çalışırken bunlar kullanışlıdır.
Örneğin : Dim ArrayMonth () As Variant
Dizileri bildirmek için sözdizimi
Statik diziler
STATIC dizilerini bildirmek için sözdizimi aşağıdaki gibidir:
Dim arrayName (n) as datatype
İŞTE,
Kod | Aksiyon |
Dim arrayName (n) veri türü |
|
Dinamik diziler
DİNAMİK dizileri bildirmek için sözdizimi aşağıdaki gibidir:
Dim arrayName() as datatypeReDim arrayName(4)
İŞTE,
Kod | Aksiyon |
Dim arrayName () veri türü |
|
ReDim diziAdı (4) |
|
Dizi Boyutları
Bir dizi tek boyutlu, iki boyutlu veya çok boyutlu olabilir.
- Tek boyut : Bu boyutta, dizi yalnızca bir dizin kullanır. Örneğin, her yaştan birkaç kişi.
- İki boyut : Bu boyutta, dizi iki dizin kullanır. Örneğin, her sınıftaki bir dizi öğrenci. Her sınıftaki ders sayısı ve öğrenci numarası gerektirir
- Çok boyutlu : Bu boyutta dizi ikiden fazla dizin kullanır. Örneğin, gündüz sıcaklıkları. (30, 40, 20).
Excel VBA'da Dizi nasıl kullanılır?
Basit bir uygulama oluşturacağız. Bu uygulama, bir dizi değişkeninden gelen verilerle bir Excel sayfasını doldurur. Bu VBA Array örneğinde, aşağıdaki şeyleri yapacağız.
- Yeni bir Microsoft Excel çalışma kitabı oluşturun ve Excel Makro Etkin Çalışma Kitabı (* .xlsm) olarak kaydedin
- Çalışma kitabına bir komut düğmesi ekleyin
- Komut düğmesinin adını ve başlık özelliklerini ayarlayın
- Excel sayfasını dolduran VBA'yı programlama
Bu alıştırmayı adım adım yapalım,
Adım 1 - Yeni bir çalışma kitabı oluşturun
- Microsoft Excel'i açın
- Yeni çalışma kitabını VBA Arrays.xlsm olarak kaydedin
Adım 2 - Bir komut düğmesi ekleyin
Not: Bu bölüm, excel'de arayüz oluşturma sürecine aşina olduğunuzu varsayar. Aşina değilseniz, VBA Excel Form Kontrolü ve ActiveX Kontrolü eğitimini okuyun. Arayüzün nasıl oluşturulacağını size gösterecek
- Sayfaya bir komut düğmesi ekleyin
- Name özelliğini cmdLoadBeverages olarak ayarlayın
- Başlık özelliğini İçecekleri Yükle olarak ayarlayın
GUI'niz şimdi aşağıdaki gibi olmalıdır
3. Adım - Dosyayı kaydedin
- Farklı kaydet düğmesine tıklayın
- Aşağıdaki resimde gösterildiği gibi Excel Makro Etkin Çalışma Kitabını (* .xlsm) seçin
Adım 4 - Kodu yazın
Şimdi uygulamamız için kod yazacağız
- İçecekleri Yükle düğmesine sağ tıklayın ve kodu görüntüle'yi seçin
- Aşağıdaki kodu cmdLoadBeverages tıklama olayına ekleyin.
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub
İŞTE,
Kod |
Aksiyon |
Dim İçecekler (1-4) Dize Olarak |
|
İçecekler (1) = "Pepsi" |
|
Sheet1.Cells (1, 1) .Value = "En Sevdiğim İçecekler." |
|
Sheet1.Cells (2, 1) .Değer = İçecekler (1) |
|
Uygulamamızı test ediyoruz
Geliştirici sekmesini seçin ve Tasarım modu düğmesinin "kapalı" olduğundan emin olun. Gösterge, beyaz bir arka plana sahip olacak ve renkli (yeşilimsi) bir arka plana sahip olmayacaktır. (Aşağıdaki resme bakın)
İçecekleri Yükle düğmesine tıklayın
Aşağıdaki sonuçları alacaksınız
Yukarıdaki kodu içeren Excel'i indirin
Yukarıdaki Excel Kodunu indirin
Özet
- Bir dizi, birden fazla değeri depolayabilen bir değişkendir
- Excel VBA, statik ve dinamik dizileri destekler
- Diziler, mantıksal olarak ilişkili veriler için çok sayıda değişken bildirmeye kıyasla bakımı kolay kod yazmayı kolaylaştırır.