/ / Excel VBA Döngüsü

Excel VBA Döngüsü

Tek döngü | Çifte döngü | Üçlü Döngü | Döngü Yaparken Yap

Döngü en güçlü programlama tekniklerinden biridir. bir döngü içinde Excel VBA Sadece birkaç kod satırı ile bir dizi hücre arasında geçiş yapmanızı sağlar.

Tek döngü

Tek boyutlu bir hücre aralığında geçiş yapmak için tek bir döngü kullanabilirsiniz.

Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

Dim i As Integer

For i = 1 To 6
    Cells(i, 1).Value = 100
Next i

Sayfadaki komut düğmesine tıkladığınızda sonuç:

Excel VBA'da Tek Döngü

Açıklama: For ve Next arasındaki kod satırları altı kez yürütülür. İ = 1 için, Excel VBA, 100 değerini satır 1 ve sütun 1'in kesişimindeki hücreye girer. Excel VBA, Sonraki i'ye ulaştığında, 1'i 1 ile artırır ve For ifadesine geri döner. İ = 2 için, Excel VBA 100 değerini, satır 2 ve sütun 1, vb. Kesişimindeki hücreye girer.

Not: For ve Next sözcükleri arasındaki kodu her zaman girintilemek (tab) yapmak iyi bir uygulamadır. Bu kodunuzun okunmasını kolaylaştırır.

Çifte döngü

İki boyutlu bir hücre aralığı boyunca döngü yapmak için bir çift döngü kullanabilirsiniz.

Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

Dim i As Integer, j As Integer

For i = 1 To 6
    For j = 1 To 2
        Cells(i, j).Value = 100
    Next j
Next i

Sayfadaki komut düğmesine tıkladığınızda sonuç:

Excel VBA'da Çift Döngü

Açıklama: İ = 1 ve j = 1 için, Excel VBA 100 değerini satır 1 ve sütun 1'in kesişimindeki hücreye girer. Excel VBA Sonraki j'ye ulaştığında, j'yi 1 ile artırır ve For j ifadesine geri döner. İ = 1 ve j = 2 için, Excel VBA, 100 değerini satır 1 ve sütun 2'nin kesişimindeki hücreye girer. Sonra, Excel VBA, sonraki j'yi yok sayar çünkü j, yalnızca 1'den 2'ye çalışır. Excel VBA, Sonraki 1 ile artar ve For i ifadesine geri atlar. İ = 2 ve j = 1 için, Excel VBA 100 değerini, satır 2 ve sütun 1'in kesişimindeki hücreye girer.

Üçlü Döngü

Birden çok Excel çalışma sayfasında iki boyutlu aralıklarla döngü yapmak için üçlü bir döngü kullanabilirsiniz.

Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

Dim c As Integer, i As Integer, j As Integer

For c = 1 To 3
    For i = 1 To 6
        For j = 1 To 2
            Worksheets(c).Cells(i, j).Value = 100
        Next j
    Next i
Next c

Açıklama: Çift döngü koduna kıyasla yapılan tek değişiklik, bir döngü daha ekledik ve Çalışma Sayfaları (c) ekledik. c = 1 için ilk sayfadaki iki boyutlu aralığı almak için Hücrelerin önünde, c = 2 için ikinci sayfa ve c = 3 için üçüncü sayfa. Bu sonucu görmek için Excel dosyasını indirin.

Döngü Yaparken Yap

Sonraki döngü için, Excel VBA'da başka döngüler vardır. Örneğin, Do Do Döngü. Do While ve Loop arasına yerleştirilen kod, Do While'un doğru olduğu bölümden itibaren tekrarlanacaktır.

1. Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

Dim i As Integer
i = 1

Do While i < 6
    Cells(i, 1).Value = 20
    i = i + 1
Loop

Sayfadaki komut düğmesine tıkladığınızda sonuç:

Döngü Yaparken Yap

Açıklama: 6'dan küçük olduğu sürece, Excel VBA, satır 1 ve sütun 1'in kesişiminde hücreye 20 değerini girer ve 1'i 1'e kadar artırır. Excel VBA'da (ve diğer programlama dillerinde), "=" sembolü olur. Eşit anlamına gelmez. Yani i = i + 1, i + 1 anlamına gelir. Başka bir deyişle: i'nin şimdiki değerini al ve ona 1 ekle. Örneğin, i = 1 ise, 1 + 1 = 2 olur. Sonuç olarak, 20 değeri, A sütununa beş kez yerleştirilir (6 değil, çünkü VBA, 6'ya eşit olduğunda durur).

2. A sütununa bazı rakamlar girin.

Herhangi bir satır sayısı

3. Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

Dim i As Integer
i = 1

Do While Cells(i, 1).Value <> ""
    Cells(i, 2).Value = Cells(i, 1).Value + 10
    i = i + 1
Loop

Sayfadaki komut düğmesine tıkladığınızda sonuç:

Gelişmiş Yaparken Döngü

Açıklama: Hücreler olduğu sürece (i, 1).Değer boş değil (<>, eşit değil demektir), Excel VBA, satır i ve sütun 2'nin kesişimindeki hücreye değeri girer, satır i ve sütun 1'in kesişimindeki hücreden 10 kat daha yüksektir. Excel VBA, 7'ye eşit olduğunda durur çünkü Hücreler (7, 1) .Value boştur. Bu, çalışma sayfasındaki herhangi bir sayıda satırın arasında geçiş yapmanın harika bir yoludur.

Ayrıca oku: