注目の投稿

今まで作成したエクセルツールまとめ

2018/03/05

for文で飛び飛びに繰り返す Excel VBA (マクロ)

Excel VBAでfor文といってもいろいろな方法があると思いますが、
今回はfor文を使って飛び飛びにループさせる方法をお伝えします。

等間隔に1,3,5,7のようにループさせていくならstepを使う方法があります。
飛び飛びにfor文を使う方法としては配列を使う方法があります。

今回は配列を使ってみます。例としてセルのA列、E列、H列が空白かどうかを見るために、列番号を1,5,8とループさせてみます。

Dim arr(3) As Integer
arr2(0) = 1 ’A列
arr2(1) = 5 ’E列
arr2(2) = 8 ’H列

For j = 0 To 2
    For i = 1 To 5
                 If Cells(i, arr(j)) = "" Then
                     MsgBox "空欄があります"                                         
                End If
    Next
Next

これならコンパクトに書けますね。