1. ホーム
  2. vba

[解決済み] VBA - 条件付きで for ループの反復をスキップする方法

2022-09-29 19:03:27

質問

配列に対するforループがあります。私がしたいことは、ループ内の特定の条件をテストし、真であれば次の反復にスキップすることです。

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

I Know I can do:

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

とありますが、PrevCouponIndex変数にiの最後の値を記録できるようにしたいのです。

何かいい案はありませんか?

ありがとうございます。

どのように解決するのですか?

こんな簡単なことではだめなのでしょうか?

For i = LBound(Schedule, 1) To UBound(Schedule, 1)
  If (Schedule(i, 1) < ReferenceDate) Then
     PrevCouponIndex = i
  Else
     DF = Application.Run("SomeFunction"....)
     PV = PV + (DF * Coupon / CouponFrequency)
  End If
Next