VBA Bildirimi Dizisi - VBA'da Diziler Nasıl Bildirilir?

Excel VBA Dizi Bildirimi

VBA'da dizi bildirimi, değişkenlerinkine çok benzer, aynı dim ifadesi veya statik genel veya özel ifade ile yapılır, bir dizi bildirmek ve bir değişken bildirmek arasındaki tek fark, bir dizi bildirirken bir boyut sağlamamız gerektiğidir. dizinin üst sınırı ve dizinin alt sınırı olan bir dizinin.

VBA Kodunda, tek değişkenleri bildirmek yerine değişken sayısını tutabilen tek değişkenli bir dizi tanımlayabiliriz. Bu, koddaki satır sayısını azaltmaya yardımcı olabilir.

Dizi, bir seferde yalnızca bir değer tutabilen normal değişkenlerin aksine, birden fazla değeri tutabilen bir tür değişkendir. Dizi, VBA'da değişken bildirmenin gelişmiş bir sürümüdür. Örneğin, değişkenlere 5 öğrenci adı atamak istediğiniz bir durumu hayal edin ve genel uygulamada, tek tek öğrenci adlarını tek tek atadığımız beş değişken için beş değişken açıklıyoruz; aşağıda aynı örnek kod bulunmaktadır.

Kod:

Sub Array_Example () Dim Student1 As String Dim Student2 As String Dim Student3 As String Dim Student4 As String Dim Student5 As String End Sub

Bu kadar çok değişken bildirmek yerine, tüm öğrenci isimlerini barındırabilecek tek değişkenli bir dizi bildirme fikrine ne dersiniz?

Evet, bu, diziyi VBA'da bildirerek mümkündür.

Örnekler

Örnek 1

Beyan etmek için özel bir VBA kodlaması yapmamız gerekmiyor. Bunun yerine basit kavramları takip etmemiz gerekiyor.

İlk önce, alt prosedürü başlatın.

Kod:

Sub Array_Example () End Sub

Şimdi, her zamanki gibi, bir değişkeni dizge olarak bildirin.

Kod:

Sub Array_Example () Dim Student As String End Sub

Değişken bildirildikten sonra, şimdi kaç değer tutması gerektiğinden emin olun. Bu durumda, beş öğrencinin adını saklamak istiyorum, bu yüzden şimdi dizi boyutunu, yani 1'den 5'e kadar sabitlememiz gerekiyor. Aynı şeyi parantez içindeki değişkene de verin.

Kod:

Sub Array_Example () Dim Student (1-5) As String End Sub

Şimdi bu tek değişken için 5 öğrenci adını saklayabiliriz.

Kod:

Sub Array_Example () Dim Öğrenci (1-5) As String Student (1) = "John" Öğrenci (2) = "Peter" Öğrenci (3) = "Ricky" Öğrenci (4) = "Michael" Öğrenci (5) = "Anderson" Abonelik Sonu

Değişkeni bir dizi olarak bildirerek kaç satırı azalttığımıza bakın. Bu yapmanın bir yolu. Bu kodu yine de VBA'daki döngülerin içine ekleyerek kısaltabiliriz.

Şimdi bir örnek olarak, çalışma sayfası hücrelerimde sahip olduğum aynı beş isim.

Şimdi bu numaraları VBA'daki mesaj kutusunda göstermek istiyorum; tamam, döngüler için bir değişken daha Tamsayı veri türü olarak tanımlayalım.

Kod:

Sub Array_Example () Dim Student (1 ila 5) As String Dim K As Integer End Sub

Her zamanki gibi, dizi değişkenini 1 ila 5 boyut olarak tuttum.

Şimdi VBA'da FOR NEXT döngüsünü açın ve beş adımız olduğu için sınırı 1'den 5'e girin.

Kod:

Sub Array_Example () Dim Student (1 - 5) As String Dim K As Integer For K = 1 - 5 Next K End Sub

Dizi değişkenine değer atamak için, Öğrenci (1), Öğrenci (2) 'yi göstermenin önceki yolunu izlememiz gerekmez, bunun gibi sayılar pozisyon tedarik döngüleri değişkeni "k".

Kod:

Sub Array_Example () Dim Student (1 ila 5) As String Dim K As Integer For K = 1 to 5 Student (K) = Next K End Sub

Bu dizi değişkeni için çalışma sayfasındaki değerlere ihtiyacımız var, bu nedenle CELLS özelliğini kullanmak çalışma sayfasından değerleri alır.

Kod:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer For K = 1 to 5 Student (K) = Cells (K, 1). Value Next K End Sub

Şimdi mesaj kutusu aracılığıyla dizi değişkeninin değerini gösterin.

Kod:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer For K = 1 to 5 Student (K) = Cells (K, 1). Value MsgBox Student (K) Next K End Sub

Şimdi kodu çalıştırın. Mesaj kutusunda ilk adı göreceğiz. İkinci adı görmek için tekrar Tamam'a basın. Bunun gibi Tamam'a basarak beş ismin tamamını görebiliriz.

Örnek 2 - İki Boyutlu Diziler

We have seen above how the array works, now we will see to dimensional arrays. Two-dimensional arrays concentrate on both rows and columns.

In the above example, we have determined the array’s size as 1 to 5; this either concentrates on rows or columns.

By using two-dimensional arrays, we can concentrate on both rows and columns. For this, we need to enclose two loops.

First, define the variable then late we will decide about the size of the array.

Code:

Sub Two_Array_Example() Dim Student As String End Sub

First, decide row size then decide the column length.

Code:

Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String End Sub

For this, I have structured the data for student names, marks, and grade status.

Now come back to the coding window.

Declare two more variables for a loop.

Code:

Sub Two_Array_Example () Dim Student (1 ila 5, 1 ila 3) As String Dim K As Integer, J As Integer End Sub

Şimdi, aşağıda gösterildiği gibi döngüyü çevreleyin.

Kod:

Alt Two_Array_Example () Dim Student (1 ila 5, 1 ila 3) As String Dim k As Integer, J As Integer For k = 1 ila 5 J = 1 ila 3 Çalışma Sayfası için ("Student List") Öğrenci (k, J) = Hücreler (k, J). Değer Çalışma Sayfaları ("Sayfayı Kopyala"). Hücreleri Seç (k, J). Değer = Öğrenci (k, J) Sonraki J Sonraki k Son Alt

Bunun yapacağı şey, verileri "Öğrenci Listesi" sayfasından kopyalayıp "Sayfayı Kopyala" ya yapıştırmaktır.

Hatırlanacak şeyler

  • Dizi geniş bir kavramdır; bu sadece bir giriş kısmı.
  • Dizi bildirimini anlamak için gelişmiş kodlama becerilerine ihtiyacınız var.
  • Kodunuzda dizileri ne kadar çok kullanırsanız, ona o kadar çok alışacaksınız.

Ilginç makaleler...