EXCEL VBA'DA ARRAYLIST

 

Excel VBA ArrayList nedir?

ArrayList, sayılar, dizeler, tarihler, diziler, aralıklar, değişkenler ve nesneler gibi çeşitli değerleri ve bilgileri depolayan bir VBA nesnesidir. ArrayList'i VBA'da kullanmak için, onu bir "mscorlib.dll" kütüphanesine eklemeliyiz.

Değer eklemek için basit bir VBA Arraylist örneğine bakalım. Yeni bir modül ekleyin ve aşağıdaki kodu yazın:

VBA DiziListesi - 1

VB şeridindeki Çalıştır seçeneğini kullanarak kodu çalıştırın veya F5'e basın ve aşağıda gösterildiği gibi mesaj kutusunda eklenen değerleri görün. Başka bir değer görmek için her sonuçtan sonra "Tamam"a basın.

VBA DiziListesi - 2

Dizi Listesi Hakkında Daha Fazlası

Normal dizilerle karşılaştırıldığında ArrayList dinamiktir. Ayrıca, VBA ArrayList uzunluğu Excel dizilerindeki sabit uzunluklu veri yapısına kıyasla değişkendir.

VBA'da ArrayList ile çalışmak için “mscorlib.dll” kütüphanesini eklemek için:

  1. Bir VB Editör penceresi açın, VB şeridinde “Araçlar”a tıklayın ve VBA’yı destekleyen farklı kütüphanelerin listesini açmak için “Referanslar”ı seçin.


    Excel VBA'da ArrayList ile Çalışma - Adım 1

  2. Aşağı kaydırın ve “mscorlib.dll” öğesini seçin ve Tamam’a basın.


    Excel VBA'da ArrayList ile Çalışma - Adım 2

    Bu kütüphaneyi dahil ettikten sonra kodumuzda ArrayList'i kullanabiliriz.


Örnekler

VBA'da ArrayList kullanarak değerleri nasıl ekleyeceğimizi veya çıkaracağımızı öğrenebiliriz.

Örnek #1

VBA'da ArrayList kullanarak metin değerleri eklemek için. Aşağıda aynı şey için adımlar verilmiştir.

  • Adım 1 : Kodu bir alt prosedürle başlatın. Bir ArrayList'i VBA işlevine bir nesne olarak dahil etmek için, “Değerler” adlı bir değişkeni “ArrayList” olarak bildirin.
Excel VBA ArrayList - Örnek 1 - Adım 1
  • Adım 2 : Şimdi, ArrayList için yeni bir örnek ayarlayın. Bunun için, SET ifadesini ve ArrayList nesnesinin bir örneğini oluşturmak için “New”i kullanırız. Aşağıdaki ifade bunu yapar:

Değerleri Ayarla = Yeni DiziListesi

Örnek 1 - Adım 2
  • Adım 3: ArrayList'e değer eklemek için değerlerin eklendiği "Add" özelliğini kullanın. Bu değerler, geleneksel bir dizi için yapıldığı gibi dahili olarak 0,1,2,3 vb. dizinleri için saklanır.

Değerler. "Hoş Geldiniz" 'İlk Değer
Değerleri ekleyin. "Girin" 'İkinci Değer
Değerleri ekleyin. "Sizin" 'Üç Değer
Değerleri ekleyin. "Adınız" 'Dördüncü Değer

Örnek 1 - Adım 3
  • Adım 4: Saklanan değerleri görmek için, bunları yazdırmak üzere MsgBox'ı kullanın. Burada, geleneksel dizilerde olduğu gibi, dizi değerlerine ArrayName(0), Arrayname(1), vb. olarak atıfta bulunuruz. Aşağıda tüm kodu görebilirsiniz.

vbNewLine değerleri yeni bir satırda yazdırır.

Sub VBAArrayList_Ex1()
Dim Values As ArrayList
Set Values = New ArrayList
Values.Add “Welcome” ‘First Value
Values.Add “Enter” ‘Second Value
Values.Add “Your” ‘Three Value
Values.Add “Name” ‘Fourth Value
MsgBox Values(0) & vbNewLine & Values(1) & vbNewLine & Values(2) & vbNewLine & Values(3)
End Sub

Excel VBA ArrayList - Örnek 1 - Adım 4
  • Adım 5: Kodu F5 tuşunu kullanarak çalıştırın ve aşağıda gösterildiği gibi mesaj kutusunda bölümlenmiş saklanan değerleri görün:
Excel VBA ArrayList - Örnek 1 - Adım 5

Örnek #2

Bu örnekte, değerleri değerler listesinden kaldırmak için VBA ArrayList'in kullanımını göreceğiz. Bunun nasıl yapıldığını anlamak için adımlar aşağıdadır:

  • Adım 1 : Alt prosedürü VB editöründe yazın ve ArrayList nesnesini tanımlayın.
Excel'de VBA ArrayList - Örnek 2 - Adım 1
  • Adım 2 : Şimdi, aşağıda gösterildiği gibi .Add metodunu kullanarak dizi listesine değerler ekleyin:
Örnek 2 - Adım 2
  • Adım 3 : 2. indeks pozisyonuna 'Value6' ekleyecek ve ”Value2“yi kaldıracak bir komut yazın. Bunun için koda aşağıdaki ifadeleri ekliyoruz.

MyList.Insert 2, “Değer6”
MyList.Remove “Değer2”

Örnek 2 - Adım 3
  • Adım 4 : Bundan sonra 2. indeks pozisyonundaki değeri ve oradan başlayarak ardışık iki değeri, yani 2. ve 3. indeks pozisyonları için değeri kaldırın.

Burada RemoveAt metodu belirli bir indeksteki bir öğeyi kaldırır.

RemoveRange, bir döngü kullanmadan birden fazla öğeyi kaldırır. Başlangıç ​​konumunu ve kaldırılacak öğe sayısını belirtmeniz gerekir; örneğin, arraylistname.RemoveRange 1,2, 1. indeksten başlayarak iki öğeyi kaldırır.

Sub RemoveExample()
Dim MyList As New ArrayList
MyList.Add “Value1”
MyList.Add “Value2”
MyList.Add “Value3”
MyList.Add “Value1”
MyList.Add “Value4”
MyList.Add “Value5”
MyList.Insert 2, “Değer6”
MyList.Remove “Value2”
MyList.Remove “Value”
MyList.RemoveAt 2
MyList.RemoveRange 3, 2
End Sub

Örnek 2 - Adım 4
  • Adım 5 : Dizi listesini tekrarlayarak VBA'da For döngüsünü kullanarak dizinin kalanını ve geçerli dizin konumunu gösterin . Burada, "MsgBox MyList(N) & ” Index ” & N" mesaj kutusu N'inci değeri ve dizin değerini gösterir. Son kod aşağıdaki gibidir:

Kod :

Sub RemoveExample()
Dim MyList As New ArrayList
MyList.Add “Value1”
MyList.Add
“Value2”
MyList.Add “Value3”
MyList.Add “Value1” MyList.Add “Value4”
MyList.Add “Value5”
MyList.Insert 2, “Value6”
MyList.Remove “Value2”
MyList.Remove “Value”
MyList.RemoveAt 2
MyList.RemoveRange 3, 2
N = 0 için MyList.Count – 1
MsgBox MyList(N) & ” Index ” & N
Next N
End Sub

Excel'de VBA ArrayList - Örnek 2 - Adım 5
  • Adım 6 : Kodu çalıştırın ve aşağıdaki sonucu görün. Bir sonraki değeri görmek için her değerden sonra Tamam'a basın.
Excel'de VBA ArrayList - Örnek 2 - Adım 6

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...