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ı:

  1. İlk olarak, döngü yapılacak aralığın hücresi olarak kullanılacak bir değişken bildirin.
    loop-through-range
  2. 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.
    use-icell-variable
  3. 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.
    write-a-line-of-code
  4. Sonunda bir döngü için kodu sonlandırın.
    end-the-code-for-a-loop

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.

tüm sütun ve satır boyunca döngü

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.

dinamik aralıkta döngü
 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

Yorum ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir