Diziden VBA Döngüsü / Dizideki Her Öğe İçin

Bu eğitim size VBA'da Diziler arasında nasıl döngü yapacağınızı öğretecektir.

VBA kullanarak Diziler arasında dolaşmanın iki temel yolu vardır:

  • Her Döngü İçin - For Her Döngü, dizideki her bir öğe arasında dolaşacaktır.
  • Sonraki Döngü için - For Next Döngüsü, dizinin belirtilen başlangıç ​​ve bitiş konumları arasında döngü yapacaktır (Tüm dizide döngü yapmak için UBound ve LBound İşlevlerini kullanabiliriz).

Dizideki Her Öğe İçin

NS Her Döngü İçin dizinin her bir elemanı arasında döngü yapmanızı sağlar.

12345678910111213141516171819 Alt DöngüForArrayStatic()'bir değişken dizisi bildirDim strNames(1 ila 4) As String'diziyi doldurstrNames(1) = "Bob"strNames(2) = "Peter"strNames(3) = "Keith"strNames(4) = "Sam"'dizi öğesini tutacak bir değişken bildirÖğeyi varyant olarak karart'tüm dizi boyunca döngüstrNames içindeki her öğe için'öğeyi hata ayıklama penceresinde göster.Hata ayıklama. Öğeyi yazdırDöngüAlt Bitiş

Yukarıdaki prosedür, dizideki tüm isimler arasında dolaşacaktır.

Sonraki Döngü için

For Next Döngüsü, dizinin belirli bir başlangıç ​​ve bitiş konumunda her bir öğe arasında döngü yapacaktır.

Dizinin Bir Parçasında Döngü

Döngünüz için başlangıç ​​ve bitiş konumlarını manuel olarak belirleyebilirsiniz. Bu, dizi boyutunuzu biliyorsanız ve/veya yalnızca bir dizinin parçası arasında dolaşmak istiyorsanız uygun olabilir.

12345678910111213141516 Alt DöngüForNextStatic()'bir değişken dizisi bildirDim strNames(1 - 4) As String'diziyi doldurstrNames(1) = "Bob"strNames(2) = "Peter"strNames(3) = "Keith"strNames(4) = "Sam"'bir tamsayı bildirDim i Tamsayı Olarak'dizinin 2. konumundan 3. konumuna döngüi = 2 ila 3 için'adı hemen pencerede gösterDebug.Print strNames(i)sonraki benAlt Bitiş

Yukarıdaki örnekte dizinin 2. ve 3. konumları arasında döngü yaptık. Hemen açılan pencere, adları aşağıdaki gibi döndürür.

Tüm Dizi Boyunca Döngü

Ardından, tüm dizide döngü yapmak için UBound ve LBound İşlevlerini kullanacağız. Bu, dizinin başlangıç ​​ve bitiş konumlarının değişebileceği durumlarda (örn. Dinamik Dizi) son derece kullanışlıdır:

123456789101112131415161718 Alt DöngüForNextDynamic()'bir değişken dizisi bildirDim strNames() As String'diziyi başlatReDim strNames(1 ila 4)'diziyi doldurstrNames(1) = "Bob"strNames(2) = "Peter"strNames(3) = "Keith"strNames(4) = "Sam"'bir tamsayı bildirDim i Tamsayı Olarak'dizinin alt sınırından dizinin üst sınırına döngü - tüm dizii = LBound(strNames) için UBound(strNames) için'adı hemen pencerede gösterDebug.Print strNames(i)sonraki benAlt Bitiş

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave