【VBA】For文を1つ飛ばしで実行する方法(Step)
今回はFor分を1つ飛ばしで実行する方法を紹介します。
(例えば、i = 1,3,5,…と実行する方法です)
Excelシートで奇数行だけ処理したいといった時に便利ですので、活用してみてください。
For文を1つ飛ばしで実行する方法(Step)
For文で1つ飛ばしするには、Stepを指定します。
Sub Sample1()
Dim i As Long
For i = 1 To 10 Step 2
Cells(i, 1) = i
Next
End Sub
例えば、このサンプルコードを実行すると画像のように1,3,5,…と奇数行だけ値が書き込まれます。
For i = 1 To 10 Step 2
ポイントはこの最後の「Step 2」です。
For文でStepを指定すると、指定した数の分だけ数字が足されます。
サンプルコードでは2なので2つずつ数字が足されます。
例えば、ここを「Step 3」と変えると1,4,7,…と2つ飛ばしになります。
Sub Sample2()
Dim i As Long
For i = 10 To 1 Step -1
Debug.Print i
Next
End Sub
また、このように「Step -1」とすると1つずつiが小さくなっていきます。