Alt Başlık Detay


For Each … Next Döngüsü

Kasım 2020 Döngüler 138 0

For Each Eleman In Grup
      [ Tekrar Edilmesi İstenilen Kod Bloğu ]
Next [ Eleman ]
Burada kullanılan eleman tanımlanan gruptaki her bir birim, grup ise bu elemanların oluşturduğu kümedir. Bu küme bir dizi (array), belirli bir hücre aralığı (Range("A1"):Range("C5")) veya UserForm üzerinde kullanılan kontroller olabilir.

For Each Eleman In Grup
   If .... Then 
      [ Tekrar Edilmesi İstenilen Kod Bloğu ]
      [ Exit For ]
   End If
Next [ Eleman ]

For Each ... için tanımlanan grupta en az bir eleman varsa döngüye girilir ve Tekrar Edilmesi İstenilen Kod Bloğu çalıştırılır. Döngüye girildikten sonra, döngüdeki tüm ifadeler yani, For Each ve Next arasında kalan kodlar gruptaki ilk eleman için yürütülür. Grupta daha fazla eleman varsa , döngüdeki ifadeler her eleman için yürütülmeye devam edilir. Grupta başka eleman kalmadığında, döngüden çıkılır ve uygulama Next ifadesini izleyen ifadeyle devam eder.
İstenen sayıda Exit For ifadesi, alternatif bir çıkış yolu olarak döngünün herhangi bir yerine yerleştirilebilir. Exit For genellikle bazı durumların değerlendirilip şart sağlandıktan sonra kullanılır, örneğin If… Then denetiminde şart sağlandıktan sonra, kontrol Next'i akip eden ifadeye yani koda aktarılır.

Private Sub UserForm_Initialize()
Dim i As Range
    For Each i In Range("A1:C5")
       i.Value = "X"
    Next i
End Sub

Yukarıdaki kodu açıklamak gerekirse; A1 ve C5 hücre aralığındaki hücreleri bir küme olarak kabul edersek, bu kümenin her bir elemanına "i" değişkeni (Range("A1"), Range("B1"), Range("C1") gibi) ile ulaşıp, ulaşılan bu elemanın temsil ettiği hücreye "X" verisini yaz. Burada "i" değişkeni tanımlanan gruptaki her bir hücre adresini temsil etmektedir. Yine ayrıca buradaki işlem sırası ("A1", "A2", "A3") sırasıyla değil, ("A1", "B1", "C1") sırasıdır.





Arama
Kısayollar
Topluluk Faaliyetleri
En Çok Cevap Yazan Üyeler (Son 30 Gün)
Topluluk
En Popüler Cevaplar (Son 30 Gün)
Cevaplar
Forum İstatistikleri
TOPLAM DÜN
Sorular: 2 0
Gönderiler: 3 0
Kullanıcılar: 4 0