【第三回】For〜Next文を使用した繰り返し処理【VBA】

どうも、こんにちは。ヒロ(@hiro94cp)です。

今回はプログラミング道場 VBA編 第3弾!

ということでFor〜Next文で繰り返し処理を行う方法についてまとめました。

関連記事はこちらからどうぞ。

【第二回】変数を使った計算【VBA】

2017.07.04

【第一回】プログラミング道場【VBA】

2017.07.01

ではイきますよーー!

For〜Next文で繰り返し処理を行う。

例題

コード

Sub 例題()

Dim num1 As Integer ‘ 変数num1の宣言

Dim ans As Integer ‘ 変数ansの宣言

For num1 = 1 To 9 ’ For〜Next間の処理を9回繰り返す。num1を1から9まで1ずつ増やす。

ans = 1 * num1 ’ ansに1×num1(1〜9)を代入

Worksheets(“Sheet1”).Cells(num1, 1) = ans ‘Sheet1のセルA1〜9(num1)にansを代入

Next

End Sub

このプログラムを実行すると

「A列num1行目1×num1」がこのように表示されます。

 

num1を1から9までひとつずつ増やしながら、For〜Next間を繰り返している

という点に注目してください。

問題

 

例題のコードを参考に九九の表を作成しなさい。

計算結果も表内に表示すること。

 

ヒント

For〜Next文を2回使うことで81回繰り返し処理できます。

 

答えと補足

コード

Sub 問題()

Dim num1 As Integer ‘ 変数num1の宣言

Dim num2 As Integer ‘ 変数num2の宣言

Dim ans As Integer ’ 変数ansの宣言

For num1 = 1 To 9 ‘ For〜Next間の処理を9回繰り返す。num1を1から9まで1ずつ増やす。

For num2 = 1 To 9 ‘ For〜Next間の処理を9回繰り返す。num2を1から9まで1ずつ増やす。

ans = num1 * num2 ‘ ansにnum1×num2を代入

Worksheets(“Sheet1”).Cells(num1, num2) = ans ‘ Sheet1のセル(num1,num2)=(1〜9, A〜I)にans(=num1×num2)を代入

Next

Next

End Sub

急に難しくなったと感じたかもしれませんね。

ちなみにこのプログラムを実行すると、

九九の表がこのように表示されます。

補足

For文の文末にStep 数値(増やしたい幅)と入力すると数値の増やし方をコントロールできる。

たとえば

For 変数 =  下限 To 上限 Step 2

と記述すると、下限から上限まで2ずつ増えていきます。

まとめ

For〜Next文を用いることで、ForとNext間の処理を指定した回数繰り返して処理することができます。

手間のかかる繰り返し作業を自動化でき、何度も同じようなコードを打ち込む時間も節約できるのでここでマスターしときましょ!

 

以上、For〜Next文で繰り返し処理を行う方法でした!

もしなにか疑問、指摘などありましたらコチラからどうぞ。