Excel VBA Dizileri: Nedir, Nasıl Kullanılır & VBA'da Dizi Türleri

İçindekiler:

Anonim

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

  1. 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.
  2. 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.
  3. 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ü
  1. DiziAdı adında n boyutu ve veri türü olan bir dizi değişkeni bildirir. Boyut, dizinin depolayabileceği öğe sayısını ifade eder.

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ü
  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.
  • İ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

  1. Microsoft Excel'i açın
  2. 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

  1. Sayfaya bir komut düğmesi ekleyin
  1. Name özelliğini cmdLoadBeverages olarak ayarlayın
  2. 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

  1. Farklı kaydet düğmesine tıklayın
  2. 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

  1. İçecekleri Yükle düğmesine sağ tıklayın ve kodu görüntüle'yi seçin
  2. 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 adında bir dizi değişkeni bildirir. İlk dizi dizini 1 ve son dizi dizini 4'tür.

İçecekler (1) = "Pepsi"

  • İlk dizi öğesine Pepsi değerini atar. Diğer benzer kod, dizideki diğer öğeler için aynı şeyi yapar.

Sheet1.Cells (1, 1) .Value = "En Sevdiğim İçecekler."

  • A1 hücre adresinde Favori İçeceklerim değerini yazar. Sayfa1 sayfaya referans yapar ve Hücreler (1,1) satır numarası 1 ve sütun 1'e (B) referans yapar

Sheet1.Cells (2, 1) .Değer = İçecekler (1)

  • Dizin 1 olan dizi öğesinin değerini sütun 1'in ikinci satırına yazar

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

  1. Bir dizi, birden fazla değeri depolayabilen 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 bildirmeye kıyasla bakımı kolay kod yazmayı kolaylaştırır.