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:

  1. 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.
  2. 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.
  3. 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ü
  1. n boyutunda ve veri türünde arrayName adlı bir dizi değişkeni bildirir. Size, dizinin depolayabileceği eleman sayısını ifade eder.

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ü
  1. Eleman sayısını belirtmeden arrayName adında bir dizi değişkeni bildirir
ReDim diziAdı(4)
  1. Dizi tanımlandıktan sonra dizi boyutunu belirtir.

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

  1. Açılış Microsoft Excel
  2. 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

  1. Sayfaya bir komut düğmesi ekleme

Excel VBA'da Diziyi Kullanma

  1. Name özelliğini cmdLoadBeverages olarak ayarlayın
  2. Altyazı özelliğini İçecek Yükle olarak ayarlayın

GUI'niz şimdi aşağıdaki gibi olmalı

Excel VBA'da Diziyi Kullanma

Adım 3 – Dosyayı kaydedin

  1. Farklı kaydet butonuna tıklayın
  2. Aşağıdaki resimde gösterildiği gibi Excel Makro Etkin Çalışma Kitabı'nı (*.xlsm) seçin

Excel VBA'da Diziyi Kullanma

Adım 4 – Kodu yazın

Şimdi uygulamamızın kodunu yazacağız.

  1. İçecekleri Yükle düğmesine sağ tıklayın ve kodu görüntüle'yi seçin
  2. 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
  • Drinks adında bir dizi değişkeni bildirir. İlk dizi indeksi 1 ve son dizi indeksi 4'tür.
İçecekler(1) = “Pepsi”
  • İlk dizi öğesine Pepsi değerini atar. Diğer benzer kod, dizideki diğer öğeler için de aynısını yapar.
Sheet1.Cells(1, 1).Value = “Favori İçeceklerim.”
  • A1 hücre adresine Favori İçeceklerim değerini yazar. Sayfa1 sayfaya başvuruda bulunur ve Hücreler(1,1) 1 numaralı satıra ve 1 numaralı sütuna başvuruda bulunur (B)
Sayfa1.Hücreler(2, 1).Değer = İçecekler(1)
  • İndeks 1 olan dizi elemanının değerini 1. sütunun ikinci satırına yazar.

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)

Excel VBA'da Bir Uygulamayı Test Etme

İçecek Yükle butonuna tıklayın

Aşağıdaki sonuçları elde edeceksiniz

Excel VBA'da Bir Uygulamayı Test Etme

Yukarıdaki kodu içeren Excel'i indirin

Yukarıdaki Excel Kodunu indirin

ÖZET

  1. Dizi birden fazla değeri saklayabilen bir değişkendir
  2. Excel VBA statik ve dinamik dizileri destekler
  3. 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.