Excel'de VBA Dizileri - VBA'da Diziler İşlevi ile Nasıl Çalışılır?

VBA dizilerinde nesne grubunu bir arada tanımlamak için kullanılır, VBA'da dokuz farklı dizi işlevi vardır ve bunlar ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT ve UBOUND, bunların tümü dizi için dahili işlevlerdir VBA'da, Array işlevi bize verilen bağımsız değişkenin değerini verir.

Excel VBA Dizi İşlevi

Dizi işlevi, tek bir değişkendeki değerler koleksiyonudur. VBA, Fonksiyonlar ve Özellikler'deki bir Alt Yordama bir dizi sağlayabiliriz. VBA Dizileri, değişkende birden fazla değeri depolamak için sıklıkla kullanılan tekniklerden biridir.

Excel VBA Dizi Fonksiyonu Örnekleri

Birçok değişkeni bildirmek ve değerleri depolamak yerine, değeri tek bir değişkende saklamak için Excel VBA dizisini kullanabiliriz. Örneğin, aşağıdaki örneğe bakın

Kod:

Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Aralık ("A1"). Değer = x Aralık ("A2"). Değer = y End Sub

Yukarıdaki örnekte, x & y adında iki değişken tanımladım. X, değer olarak 1'i ve Y, değer olarak 2'yi tutar.

Şimdi, tek değişkenli Excel VBA dizi işlevi örneğine bakın.

Kod:

Sub Array_Ex () Dim x (1 - 2) As Tamsayı Aralığı ("A1"). Değer = x (1) Aralık ("A2"). Değer = x (2) End Sub

Şimdi, bu VBA kodunu çalıştırırsanız, A1 ve A2 hücresinde değerlerimiz olur.

Dizi değişkenleri sonucu sıfır olarak döndürdü. Bunun nedeni, değişkenleri az önce iki olarak tanımlamış olmamız, ancak bu değişkenlere herhangi bir değer atamamış olmamızdır. Bu yüzden bu değişkenlere değerler atamamız gerekiyor.

Kod:

Sub Array_Ex () Dim x (1 ila 2) As Tamsayı x (1) = 10 x (2) = 20 Aralık ("A1"). Değer = x (1) Aralık ("A2"). Değer = x (2 ) Sub

Şimdi sonuçları almak için kodu çalıştırın.

Hücrelere dizi değişkenlerinin değerlerini girmeden önce, değeri, x (1) = 10 & x (2) = 20 değişkenlerini atadığımız gibi, belirtilen dizi değişkenlerine atamamız gerekir.

Örnek 1 - Statik Dizi Kullanarak Seri Numaraları Ekleme

Seri numaralarını eklemek için statik bir dizi kullanma örneğine bakalım. Bu bir öncekine çok benzer.

Kod:

Alt StaticArray_Ex () Dim x (1 ila 5) Tam Sayı olarak x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Aralık ("A1"). Değer = x (1) Aralık ("A2"). Değer = x (2) Aralık ("A3"). Değer = x (3) Aralık ("A4"). Değer = x (4) Aralık ("A5" Değer = x (5) Son Alt

Şimdi seri numaralarını eklemek için bu kodu çalıştırın.

Örnek 2 - Dinamik Dizi Kullanarak Seri Numaralarını Ekleme

Şimdi ikinci tip diziyi, yani dinamik bir diziyi göreceğiz.

Kod:

Sub DynamicArray_Ex () Dim x () As Tamsayı ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Aralık ("A1" ) .Değer = x (1) Aralık ("A2"). Değer = x (2) Aralık ("A3"). Değer = x (3) Aralık ("A4"). Değer = x (4) Aralık (" A5 "). Değer = x (5) End Sub

Şimdi seri numaralarının sonucunu almak için bu kodu çalıştırın. Bir öncekiyle aynı sonucu alıyoruz.

Değişkeni bildirirken dizinin uzunluğunu sağlamadığımızı fark ederseniz, bunun yerine, VBA Redim işlevini kullanarak VBA dizisinin son değerini atadık. Redim, geçirilecek dizinin son değerini tutar.

Örnek 3 - Dizi Kullanarak Ay Adlarını Ekleyen İşlev Oluşturma

VBA'da dizilerle nasıl çalışılacağını gördük. Şimdi Excel'de bir VBA işlevi oluşturmak için bir dizi ile nasıl çalışılacağını göreceğiz. İşlev, VBA'da kullanıcı tanımlı bir işlevden başka bir şey değildir. Yerleşik işlevleri kullanmanın yanı sıra, excel VBA kendi işlevlerimizi de oluşturmamıza izin verir.

Kod:

Function List_Of_Months () List_Of_Months = Array ("Oca", "Şub", "Mar", "Apr", "May", "Jun", "Tem", "Ağu", "Eyl", "Ekim", "Kas "," Aralık ") Bitiş İşlevi

Aşağıdaki kod, excel sayfamıza aylar ekleyebilen bir işlev oluşturacaktır.

Aşağıdaki kodu kopyalayıp modülünüze yapıştırın.

Şimdi bu kodu kaydedin ve VBA Düzenleyiciyi kapatın. VBA düzenleyicisini kapattıktan sonra çalışma sayfasına gidin ve az önce oluşturduğumuz formülü yazın ve çalışma sayfanızda List_Of_Months adlı formülü görmelisiniz .

Formülü açın ve enter tuşuna basın. İlk ay adını alacağız, yani Jan.

Formülü bir kez daha eklerseniz, sonraki ay, Şubat değil, yine de yalnızca Jan elde ederiz. Bu nedenle, önce bir satırda 12 sütun seçin.

Şimdi formülü D1 hücresinde açın.

Formülü diziyle oluşturduğumuz için, formülleri yalnızca dizi formülü olarak kapatmamız gerekiyor. Bu yüzden Ctrl + Shift + Enter tuşlarını basılı tutun . 12 aylık isimlerin hepsine sahip olurduk.

Hatırlanacak şeyler

  • Mevcut iki dizi türü daha vardır, yani iki boyutlu dizi ve çok boyutlu dizi.
  • Diziler 1'den değil 0'dan başlar. Sıfır, ilk satır ve ilk sütun anlamına gelir.
  • Dizi büyük bir konudur. Bir sonraki seviyeye geçmek için onu anlamanız gerekir.
  • Dizi değişkeni, bir sonraki seviyeye her geçtiğinde çok fazla veri tutan bir değişken olacaktır.
  • Redim, dizinin son uzunluğunu dinamik bir dizi türünde depolamak için kullanılır.

Ilginç makaleler...