For Each Döngüsü (Nesnelerle Çalışmak)
Standart For döngüsünde 1'den 100'e kadar sayıp satırları tarıyorduk. Ancak For Each ("Her biri için") döngüsü çok daha akıllıdır. Sayaç (i) kullanmaz, doğrudan Nesneleri (Object) hedefler.
Postacı Metaforu ile For Each
Bir sokağa (A1:A5 aralığına) mektup dağıtacağınızı düşünün.
👉 Klasik For: "Önce 1 numaralı eve git, sonra 2 numaralı eve git..." diyerek evleri sayıyla hedefler.
👉 For Each: "Şu sokaktaki (Koleksiyondaki) HER BİR EV (hucre) için sırayla kapıya git" der. Adres numarası bilmesine veya saymasına gerek yoktur!
Koleksiyon (Collection) Mantığı
For Each daima bir koleksiyonun içinde gezer. VBA'da Range("A1:A10") bir hücreler koleksiyonudur. Worksheets ise Excel sayfaları koleksiyonudur.
Dim hucre As Range ' Kutumuzu sayı değil, 'Hücre' nesnesi olarak tanımladık
For Each hucre In Range("A1:A10")
hucre.Value = "Test"
Next hucre