Excel VBA > tips その他 > 年月(年度)のループ処理を分岐なしで対応する
このエントリーをはてなブックマークに追加

年月(年度)のループ処理を分岐なしで対応する

「12月」時の条件分岐なしで年月をループする

以下のプログラムは開始年月から終了年月までの一年「度」分(一年分ではない)のループを行います。

Sub 年月のループ()

    Dim dt年月開始 As Date
    Dim dt年月終了 As Date

    Dim mm         As Integer

    '2015年4月1日
    dt年月開始 = #4/1/2015#

    '2016年3月31日
    dt年月終了 = #3/31/2016#

    For mm = 0 To VBA.DateDiff(“m”, dt年月開始, dt年月終了)
        Debug.Print VBA.DateAdd(“m”, mm, dt年月開始)
    Next mm


End Sub

ポイントとしては、ループ回数の指定部分で、「月の差分(DateDiff)」を求めていることと、今度はループ内で「月を加算(DateAdd)」していることくらいです。

年月(年度)のループ処理を分岐なしで対応する_01

カテゴリ:tips その他