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ş |