SORU
30 Aralık 2011, Cuma


Şartlı döngü için bir atlanılması VBA - yineleme

Bir dizi üzerinde bir döngü var. Yapmak istediğim şey döngü belirli bir koşul için test ve eğer doğruysa bir sonraki yineleme geçin

For i = LBound(Schedule, 1) To UBound(Schedule, 1)
    If (Schedule(i, 1) < ReferenceDate) Then
        PrevCouponIndex = i
        Continue   '*** THIS LINE DOESN'T COMPILE, nor does "Next"
    End If
    DF = Application.Run("SomeFunction"....)
    PV = PV   (DF * Coupon / CouponFrequency)
Next

Yapabileceğimi Biliyorum:

 If (Schedule(i, 1) < ReferenceDate) Then Continue For

ama PrevCouponİndex değişkeninin son değeri kaydetmek mümkün olmak istiyorum.

Herhangi bir fikir?

Teşekkürler

CEVAP
30 Aralık 2011, Cuma


VBA Continue veya benzeri anahtar kelime hemen sonraki döngü tekrarında atlamak için yok. Özellikle bu yapmacık bir örnek ise sadece geçici bir çözüm olarak Goto akıllıca kullanmak öneriyoruz ve gerçek kodunuzu daha karmaşık

For i = LBound(Schedule, 1) To UBound(Schedule, 1)
    If (Schedule(i, 1) < ReferenceDate) Then
        PrevCouponIndex = i
        Goto NextIteration
    End If
    DF = Application.Run("SomeFunction"....)
    PV = PV   (DF * Coupon / CouponFrequency)
    '....'
    'a whole bunch of other code you are not showing us'
    '....'
    NextIteration:
Next

Eğer bu gerçekten senin tüm kod ise, olsa da, @Brian kesinlikle doğrudur. Sadece If beyanı Else Bir madde koy ve bitsin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ammine Getahun

    Ammine Getah

    21 HAZİRAN 2011
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • multimediaGEEKS LLC

    multimediaGE

    3 Mayıs 2010