Excel Formül
Modül 3: Karar Yapıları ve Döngüler

Do While ve Do Until Döngüleri (Şartlı Döngüler)

Önceki derslerde gördüğümüz For döngüsü "1'den 10'a kadar" gibi net sınırlarla çalışırdı. Ancak gerçek hayatta bazı işlemlerin kaç kere döneceğini baştan bilemeyiz. Örneğin: "Excel'de aşağı doğru in, ilk boş hücreyi bulana kadar durma!" İşte bu tür belirsiz durumlarda Do While ve Do Until koşullu döngülerini kullanırız.

Do While (Şart Sağlandığı SÜRECE)

"Şart doğru (True) olduğu sürece dönmeye devam et. Şart bozulduğu an döngüden çık."

Do While bakiye > 0
    ' İşlemleri yap
Loop

Do Until (Şart Gerçekleşene KADAR)

"Bu şart gerçekleşene (True olana) kadar dön, gerçekleştiği an dur." (Do While'ın tam tersi mantıktadır).

Do Until hucre.Value = ""
    ' İşlemleri yap
Loop

Sonsuz Döngü Tehlikesi (Deadly Loop)

Şartlı döngülerde en büyük tehlike, şartın ASLA sağlanamayacak şekilde yazılmasıdır (Örn: `bakiye` sürekli artmak yerine azalmazsa). Bu durumda döngü sonsuza kadar döner ve Excel donarak kilitlenir. Kodunuzu çalıştırmadan önce sayacın veya şartın her turda değiştiğinden mutlaka emin olun!

Canlı Simülatör: Bakiye Tüketim Döngüsü

Kalan Para:
1000 ₺

Aşağıdaki makro Do While bakiye > 0 şartıyla çalışır. Kasadaki 1000 TL para her turda 250 TL azalarak tükenene kadar Excel tablosuna alt alta harcama satırları yazar. Kodu Çalıştır butonuna basın.

Visual Basic Editörü
Module1 (Code)
Sub HarcamaYap()
    Dim bakiye As Double
    Dim satir As Integer

    bakiye = 1000
    satir = 1

    ' Bakiye sıfırdan büyük OLDUĞU SÜRECE dön
    Do While bakiye > 0
        Cells(satir, 1).Value = "Kalan: " & bakiye & " ₺"
        bakiye = bakiye - 250 ' Her tur 250 düş
        satir = satir + 1
    Loop

    MsgBox "Bakiye tükendi!", vbInformation
End Sub
Canlı Excel Sayfası
A1
A (Bakiye Takibi)
1
2
3
4
Microsoft Excel ✕
Bakiye tükendi! Döngü şartı sağlandığı için sonlandırıldı.