Vba kullanarak bir aralıkta nasıl gezinilir?
VBA’da bir aralıkta döngü yapmak için “Her Döngü İçin” seçeneğini kullanmanız gerekir. Bu döngüyü kullanarak, VBA’ya aralık, sütun veya satırdaki her hücreden geçmesini ve belirli bir etkinlik gerçekleştirmesini söylediğiniz kodu yazabilirsiniz.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A1:A10").Cells iCell.Value = "Yes" Next iCell End Sub
İşte plajda yürümenin adımları:
- İlk olarak, döngü yapılacak aralığın hücresi olarak kullanılacak bir değişken bildirin.
- Bundan sonra “For Every” döngüsünü başlatın ve döngü sırasında aralıktaki her hücreyi temsil etmek için “iCell” değişkenini kullanın.
- Daha sonra, aralığı döngüye aldığımız her hücrede bir aktivite gerçekleştirmek için bir kod satırı yazmanız gerekir.
- Sonunda bir döngü için kodu sonlandırın.
VBA kullanarak tüm sütun ve bir satır üzerinde döngü yapın
Aynı şekilde önceki örnekte kullandığımız kodun aynısı olan aşağıdaki kodu kullanarak her hücreyi arka arkaya yineleyebilirsiniz, tek fark belirttiğimiz aralıktır.
Not: Bir sütunun veya satırın tamamını gözden geçirmeden önce döngünün biraz zaman alabileceğini ve Excel’inizin birkaç dakika donabileceğini anlamalısınız.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A:A").Cells iCell.Value = "Yes" Next iCell End Sub
Aynı şekilde, geçilecek aralık olarak tam bir çizgiyi kullanabilirsiniz.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("1:1").Cells iCell.Value = "Yes" Next iCell End Sub
Dinamik aralıkta döngü
Dinamik bir hücre aralığında yineleme yapmak istiyorsanız aşağıdaki koda bakın.
Sub vba_dynamic_loop_range() Dim iCell As Range Dim iRange1 As String Dim iRange2 As String Dim rangeName As String iRange1 = ActiveCell.Address iRange2 = ActiveCell.Offset(5, 5).Address rangeName = iRange1 & ":" & iRange2 For Each iCell In Range(rangeName).Cells iCell = "Yes" Next iCell End Sub