Döngü İçin VBA Sonu - Excel VBA'da Döngüden Nasıl Çıkılır?

Döngü İçin Excel VBA Sonu

In VBA Molası İçin Döngü ayrıca döngü çıkışında olarak bilinir, bu zamanın nuber çalıştırmak için herhangi bir prosedürde her döngü talimatları veya kriterlerin som11e kümesi verilmiş fakat sonsuz döngüye bazı döngü olsun böylece bozulmasını çok yaygındır Bu tür senaryolarda kodun belirli durumlardan çıkması için kırılmalı veya döngüden çıkmalıyız.

Diyelim ki döngüye 10 kez çalışma talimatı verdik ve verilen koşula bağlı olarak, hücre değeri veya sağlanan diğer herhangi bir kriter başarılıysa, 10'luk tam döngü kotasını tamamlamadan önce excel döngüsünden çıkması gerekir. Bu yazıda, verilen kriterlere göre döngüden nasıl çıkılacağını göstereceğiz.

VBA'da Döngüler Nasıl Kırılır / Çıkılır?

# 1 - Sonraki Döngü İçin Ara

VBA For Next Loop, hücrelerin üzerinden döngü yapmak ve belirli bir dizi görevi gerçekleştirmek için kullanılır. Örneğin, aşağıdaki VBA koduna bakın.

Kod:

Sub Exit_Loop () Dim K As Long For K = 1 To 10 Cell (K, 1) .Değer = K Sonraki K End Sub

Bu, A1 hücresinden A10'a seri numaraları ekleyecektir.

Bu For Next Loop ile bariz olan şeydir.

Şimdi ilk 10 hücrede herhangi bir değer bulunduğunda döngüyü kırmak istiyorum. Bunun için A8 hücresine bir miktar metin değeri girdim.

Şimdi bunu kodda, "döngü hücresinin belirli bir değeri varsa, önceden belirlenen sınırdan önce döngüden çıkması gerekir" diyerek talimat vermek istiyorum.

Kod:

Sub Exit_Loop () Dim K As Long For K = 1 To 10 If Hücreler (K, 1) .Value = "" O halde Hücreler (K, 1) .Değer = K Başka Bir Sonraki K End ise End İçin Çık Sub

Şu kod satırına bakın:

Hücreler ise (K, 1) .Değer = "" O zaman
Hücreler (K, 1) .Değer = K
Aksi takdirde End If
için Çıkış

If Cells (K, 1) yazıyor. Değer = “döngüsel hücre hiçbir şeye eşittir 1'den 10'a kadar seri numaraları ekleme döngüsüne devam edin.

Döngünün son kısmı şunu söylüyor:

Başka

Çıkış

Yukarıdaki koşul DOĞRU değilse, "Şunun İçin Çık" döngüsü.

Şimdi kodu çalıştırın. A7 hücresine kadar seri numaraları ekleyecektir.

Yukarıdaki kod hiçbir şey söylemeden döngüden hemen çıktı; döngüden çıktığını nasıl bileceğiz.

Bu belirsizliği gidermek için, aşağıya basit bir VBA mesaj kutusu koymamız gerekiyor.

Kod:

Sub Exit_Loop () Dim K As Long For K = 1 To 10 If Hücreler (K, 1) .Value = "" Sonra Hücreler (K, 1) .Değer = K Başka Mesaj Kutusu "Hücrede boş olmayan hücre var" & Hücreler (K, 1) .Address & vbNewLine & "Döngüden çıkıyoruz" End For End If Next K End Sub

Hücre boyunca döngü yapılırken, boş olmayan bir hücre bulunursa, "A8 hücresinde boş olmayan hücre var. Döngüden çıkıyoruz ”.

Bu, kullanıcıyı döngüden çıkış konusunda bir hücre adresiyle bilgilendirecektir. Yanlışlıkla herhangi bir değer girilirse, mesaj kutusuna döndürülen hücre adresini kontrol edebiliriz.

# 2 - Döngüye Kadar Mola Verin

For Next Loop'tan nasıl çıktığımız gibi, benzer şekilde "Do Until" döngüsünden de çıkabiliriz. Örneğin, aşağıdaki koda bakın.

Kod:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 K = 11 Hücreye Kadar Yapın (K, 1) Değer = KK = K + 1 Loop End Sub

Bu kod aynı zamanda seri numaraları ekleme görevini de yerine getirir. Örneğin, değişken “k” değeri 6 olduğunda döngüden çıkmak istiyorsak, kriterleri IF k = 6 olarak girip döngüden çıkmamız gerekir.

Kod:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 K = 11'e Kadar Yapın K <6 ise Hücreler (K, 1) .Değer = K Aksi takdirde Çıkış Bitir K = K + 1 Döngü Sonu Sub

Bu, değişken değeri 6 olana kadar döngüyü çalıştıracaktır. Bundan sonra döngüden çıkacaktır. Mesajı kullanıcıya göstermek isterseniz, mesaj kutusunu da ekleyebilirsiniz.

Kod:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 K = 11 Oluncaya Kadar Yapın K 5 "Eğer K = K + 1 ise Çıkış Bitir.

Bu, aşağıdaki mesajı gösterecektir.

Bunun gibi, verilen kriterlere göre, kriterler DOĞRU ise döngüden çıkabilir veya döngüye devam edebiliriz.

Ilginç makaleler...