Excel VBA Dizileri
Genel olarak, bir değişkenin bir seferde tek bir değeri tutması beklenir, ancak tek bir değişkende birden çok değer depolamak istediğimizde, bu tür bir değişken dizi değişkeni olarak bilinir, VBA'da bir dizi değişkeni kullanmak için şunu bildirmemiz gerekir veya önce tanımlayın, dizi değişkenini uzunluğu ile veya uzunluğu olmadan tanımlayabiliriz.
Yüzlerce satır ve birden çok sütun içeren veriye sahip olduğumuzu ve verileri kullanacak bir kod oluşturmamız gerektiğini varsayalım. Şimdi, bu durumda, değeri hücrelerden alacak ve bunları programa verecek değişkenlerin katlarını oluşturmalıyız. Bu kadar değişken oluşturmak çok yorucu olacak ve bu nedenle bu gibi durumlarda, Excel'de Dizileri kullanıyoruz.

Diziler veri kümesini hafızasında tutar ve veriden getirilmesi gereken her bir değer için değişkeni bildirmemize gerek yoktur. Dizileri kullanma ihtiyacı, bir excel değişkeninin her seferinde bir değeri tutacak şekilde tasarlanması gerçeğidir. Ancak, bir değişken tarafından birden çok değer depolandığında, bu bir dizi haline gelir.
- Bir Dizi oluşturmak, içindeki verileri tutabilen ayrı bir bellek birimi oluşturmak gibidir. Bir Dizi oluşturmak için verilerin aynı türde olması gerekir.
- Excel'e verdiğimiz diziler, sahip olduğumuz veri türlerine karşılık gelmelidir. Yalnızca satırları olan bir veriye sahip olduğumuzu varsayalım, bu durumda, "Tek boyutlu dizi" yi kullanacağız ve veriler de sütunlar içeriyorsa, yalnızca tutma kapasitesine sahip oldukları için "İki boyutlu diziler" kullanmalıyız satırlardan ve sütunlardan değerler.
- Diziler ayrıca dinamik diziler veya statik diziler olarak işlev görmelidir. Formüle dinamik bir aralık verdiğimiz gibi, Arrays değişkenini de yapabiliriz. Dinamik diziler, sonsuz sayıda satır ve sütun içerecek işlevselliğe sahip olacaktır. Tanımladığımız dizilerin statik tipte olması durumunda, diziyi yaratma anında tanımlanan sınırlı sayıda satır ve sütun tutabilirler.
Açıklama
Dizi, "bir matrisin matematik kuralı" üzerinde çalışır. Yani, verileri yalnızca konumuna göre tanımlarlar. VBA'nın "B3" hücresinde "20" ye ihtiyacımız olduğunu anlamasını sağlamamız gerekiyorsa, o zaman konumun kodunu (3, 2) olarak yazmamız gerekir, burada birinci değer satırın konumu ve ikincisi değer, sütun numarası anlamına gelir. Excel dünyasında, bu konum kodlarına "Üst sınır" ve "alt sınır" denir. Varsayılan olarak, excel'deki konum sıfırdan değil birden başlar, bu nedenle excel “A1” i satır numarası 0 olarak değil, satır numarası olarak görür.
Benzer şekilde, sütunlar birden değil sıfırdan başlar.

Bu diziler, statik dizi veya dinamik dizi olarak tanımlanabilir. Bunları statik bir dizi olarak tanımlarsak, bu, onları kodlarken tanımlanan değişkenlerden fazlasını tutamayacakları anlamına gelir. Diziler tarafından ezberlenmesi gereken değerden emin değilsek, dinamik diziler oluştururuz ve bu gibi durumlarda sonsuz sayıda değeri tutabilirler.
Şimdi, gerekli dizi tipini seçtikten sonra, şimdi bu dizilere verileri girmemiz gerekecek.
Bu veriler, aşağıdaki şekillerde mükemmelleşmek için tek tek verilmelidir.

Veriler bu dizilerde depolandıktan sonra, VBA kodlamasında değişken olarak kullanıma hazır hale gelirler.
En İyi 5 Dizi Türü Listesi
- Statik Diziler
- Dinamik Dizi
- Tek Boyutlu Dizi
- İki Boyutlu Dizi
- Çok Boyutlu Dizi
Her birini ayrıntılı olarak görelim.
# 1 - Statik Diziler
İçinde depolanabilen önceden tanımlanmış bir değer sayısına sahip bir dizi.

# 2 - Dinamik dizi
İşleyebileceği önceden tanımlanmamış bir değer sayısına sahip dizi.
# 3 - Tek Boyutlu Dizi
Yalnızca satırlardan veya sütunlardan gelen verileri tutabilen bir dizi.


# 4 - İki Boyutlu Dizi
Satırlardan ve sütunlardan bir değer depolayabilen bir dizi.


# 5 - Çok Boyutlu Dizi


Diziler VBA'da nasıl kullanılır (örneklerle)?
Diziler birçok durumda kullanılabilir, ancak bildirilecek değişkenlerin sayısı çok olduğunda ve bunları bildirmek mümkün olmadığında kullanılmalıdır.
Aşağıda örneklerden bazıları verilmiştir, ancak örneklere geçmeden önce kısayol tuşuyla VBA düzenleyicisini açmayı öğreneceğiz.

Bu, VBA düzenleyicisini açacaktır. Oradan, kodu "Bu çalışma sayfasına" girmeliyiz.

Örnek 1
İstediğiniz dizi türünü seçin. Dinamik mi yoksa statik bir dizi mi olmalı?
Dinamik bir diziye ihtiyacımız varsa, boyutu "varyant" olarak tanımlayacağız.

Statik bir diziye ihtiyacımız varsa, bir boyutu "Statik" olarak tanımlayacağız.

Örnek 2
Dizinin depolamasını istediğiniz sütunları ve satırları tanımlayın.
Köşeli parantez içine "1" girdiysek, bu, excel sayımı sıfırdan başladığından dizinin iki satır değerini tutabileceği anlamına gelir.

Sütunlara ve satırlara da ihtiyacımız varsa, ikisini de tanımlamamız gerekir.
Burada "1 ila 2", iki satır anlamına gelir ve "1 ila 3", bu üç sütun anlamına gelir.

Burada, excel'in satırları nasıl sayacağı kuralını değiştirdik ve sıfırdan değil "1" den saymasını istedik.
Örnek 3
Dizideki veri girişi.
Veriler hücrelere akıllıca girmelidir. Burada veriler (I, j) şeklinde girilmelidir, burada "I" satır, "J" sütun anlamına gelir.
Dolayısıyla "a (1,1"), "A1" hücresi anlamına gelir.

Örnek 4
Kodu kapatıyoruz.
Dizi için veriler girildikten sonra, son adım kodu kapatmak olacaktır.

Hatırlanacak şeyler
- Varsayılan olarak, Excel sıfırdan başlayarak satırları sayar. Bu, "I" yerine "2" nin 2 satır değil 3 satır anlamına geleceği anlamına gelir. Aynısı "J." için de geçerlidir.
- Dizi için girilmesi gereken veriler, ilk satır ve ilk sütundan olan (0, 0) 'dan başlatılmalıdır.
- Dinamik dizileri kullanıyorsak, hafızaya alınması gereken satır ve sütun sayısını tanımlamak için "VBA REDIM" işlevine ihtiyaç duyacaktır.
- İki boyutlu bir dizi yaratma durumunda, boyut olarak "Tamsayı" kullanmalıyız.
- Excel dosyasının "Makro uyumlu" sürümde kaydedilmesi gerekiyor, aksi takdirde VBA'da yaptığımız kodlama kaybolacak ve bir dahaki sefere çalışmayacaktır.