Excel VBA Dizileri: VBA'da Dizi Nedir, Nasıl Kullanılır ve Türleri
VBA Dizisi nedir?
Dizi, birden fazla değeri saklayabilen bir bellek konumu olarak tanımlanır. Değerlerin tümü aynı veri türünde olmalıdır. Diyelim ki favori içeceklerinizin listesini tek bir değişkende saklamak istiyorsunuz, bunu yapmak için VBA dizisini kullanabilirsiniz.
Bir dizi kullanarak ilgili değerlere aynı adla başvurabilirsiniz. Bunları birbirinden ayırmak için bir indeks veya alt simge kullanabilirsiniz. Bireysel değerlere Excel VBA dizisinin öğeleri denir. Bunlar indeks 0'dan en yüksek indeks değerine kadar bitişiktir.
Bu eğitimde kullandığınız varsayılmaktadır. Microsoft Excel sürüm 2013. Bilgiler hala diğer sürümler için geçerlidir. Microsoft Excel'in de.
Dizilerin Avantajları Nelerdir?
VBA dizi fonksiyonunun sunduğu avantajlardan bazıları şunlardır:
- Mantıksal olarak ilişkili verileri bir arada gruplayın; diyelim ki öğrencilerin bir listesini depolamak istiyorsunuz. Anaokulu, ilkokul, ortaokul, lise vb. öğrenci kategorileri için ayrı konumlara sahip tek bir dizi değişkeni kullanabilirsiniz.
- Diziler bakımı yapılabilir 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 olanak tanır.
- Daha iyi performans: Bir dizi tanımlandıktan sonra verileri almak, sıralamak ve değiştirmek daha hızlı olur.
VBA'daki 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. Bunlar, haftadaki gün sayısı, cinsiyet vb. gibi bilinen varlıklarla çalışmak istediğinizde kullanışlıdır.Örnek: Dim ArrayMonth(12) As String
- Dinamik – Bu tür dizilerin depolanabilecek önceden belirlenmiş sabit sayıda öğesi yoktur. Bunlar, sayısını önceden belirleyemediğiniz varlıklarla çalışırken kullanışlıdır.Örnek: Dim ArrayMonth() Değişken Olarak
Dizileri bildirme sözdizimi
Statik diziler
Bildirmek için sözdizimi STATİK diziler aşağıdaki gibidir:
Dim arrayName (n) as datatype
İŞTE,
Kod | Action |
---|---|
Dim diziAdı (n) veri türü |
|
Dinamik diziler
Bildirmek için sözdizimi DİNAMİK diziler aşağıdaki gibidir:
Dim arrayName() as datatype ReDim arrayName(4)
İŞTE,
Kod | Action |
---|---|
Dim diziAdı () 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.
- İkili boyutlar: Bu boyutta dizi iki indeks kullanır. Örneğin her sınıfta belirli sayıda öğrenci var. Her sınıftaki sınıf sayısını ve öğrenci sayısını gerektirir.
- Çok boyutlu: Bu boyutta dizi ikiden fazla indeks 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 Excel sayfasını bir dizi değişkeninden gelen verilerle doldurur. Bu VBA Dizi örneğinde, aşağıdaki şeyleri yapacağız.
- Yeni bir tane oluştur Microsoft Excel çalışma kitabını açın ve Excel Makro Etkin Çalışma Kitabı (*.xlsm) olarak kaydedin
- Çalışma kitabına komut düğmesi ekleme
- Komut düğmesinin adını ve resim yazısı özelliklerini ayarlama
- Excel sayfasını dolduran VBA'yı programlamak
Bu egzersizi adım adım yapalım.
Adım 1 – Yeni bir çalışma kitabı oluşturun
- Açılış Microsoft Excel
- Yeni çalışma kitabını VBA Arrays.xlsm olarak kaydedin
Adım 2 – Bir komut düğmesi ekleyin
Not: Bu bölümde excel'de arayüz oluşturma sürecine aşina olduğunuz varsayılmaktadır. Eğer aşina değilseniz, öğreticiyi okuyun VBA Excel Form Kontrolü ve ActiveX Kontrolü. Arayüzün nasıl oluşturulacağını size gösterecek
- Sayfaya bir komut düğmesi ekleme
- Name özelliğini cmdLoadBeverages olarak ayarlayın
- Altyazı özelliğini İçecek Yükle olarak ayarlayın
GUI'niz şimdi aşağıdaki gibi olmalı
Adım 3 – Dosyayı kaydedin
- Farklı kaydet butonuna 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ın kodunu yazacağız.
- İçecekleri Yükle düğmesine sağ tıklayın ve kodu görüntüle'yi seçin
- cmdLoadBeverages'ın tıklama olayına aşağıdaki kodu ekleyin
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(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 | Action |
---|---|
Dim İçecekler(1'den 4'e) As String |
|
İçecekler(1) = “Pepsi” |
|
Sheet1.Cells(1, 1).Value = “Favori İçeceklerim.” |
|
Sayfa1.Hücreler(2, 1).Değer = İçecekler(1) |
|
Uygulamamızı test etme
Geliştirici sekmesini seçin ve Tasarım modu düğmesinin "kapalı" olduğundan emin olun. Gösterge, renkli (yeşilimsi) bir arka plana değil, beyaz bir arka plana sahip olacağıdır. (Aşağıdaki resme bakın)
İçecek Yükle butonuna tıklayın
Aşağıdaki sonuçları elde edeceksiniz
Yukarıdaki kodu içeren Excel'i indirin
Yukarıdaki Excel Kodunu indirin
ÖZET
- Dizi birden fazla değeri saklayabilen 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 bildirmekle karşılaştırıldığında bakımı yapılabilir kod yazmayı kolaylaştırır.