Excelマクロにおける基本文法(繰り返しと分岐)

資料請求番号:SH45

マクロにおける基本文法(for文とif文)

プログラミング言語でよく使われるのが繰り返し文と分岐文です。もちろんVBAでも、繰り返しや分岐の操作をすることができます。

※マクロを全く使用したことのない方はこちら。VBAの始め方や値の代入について説明しています。

資料請求番号:SH45Excelマクロの始め方 まとめ本記事では、まだ一度もExcelマクロに触れたことのない人向けに、Excelマクロの始め方とExcelマクロを使用する上での最低限の知識と文法を記したいと思います。マクロを始めようなぁ、シママ、最近・・・っーつか、研...
初めてのExcelマクロVBA - らい・ぶらり

繰り返し(for文)

ストーク

C言語は繰り返しと分岐を上手く使ってプログラムを書くけん、VBAでも繰り返しや分岐の操作ってできるんか?

シママ

うん!もちろんできるよ!これをエクセルと組み合わせてグラフィカルに計算を進めるのがVBAの醍醐味なのよ!
今回はその方法を教えるね!まずはサンプルコードから!

※プログラムここから※

Sub roop()

Dim i As Integer
Dim num As Double

With Worksheets(“Sheet1”)
.Cells(2, 3) = 1
num = .Cells(2, 3)

For i = 1 To 10
.Cells(i, 4) = num * i
Next i

For i = 1 To 10 Step 2
.Cells(i, 5) = num * i
Next i
End With
End Sub

※プログラムここまで※

シママ

実行するとこんな感じの画面になるよ!

ストーク

VBAもfor文使って繰り返しを表現するたいね~。For~Nextの間に繰り返したい操作を書くんやな。

シママ

うん!For文の中にCells(i,4)ってあるでしょ?つまり、セルを繰り返し変数iと連動させることができるのよ。
For文の上の2行「.Cells(2, 3) = 1
num = .Cells(2, 3)」でnumに1が代入されているでしょ?この状態で
1ループ目はCells(1,4)=num*1だから、D1セルに1が入る。
2ループ目はCells(2,4)=num*2だから、D2セルに2が入る。
3ループ目はCells(3,4)=num*3だから、D3セルに3が入る。
・・・といった具合に10まで繰り返すのよ。

ストーク

なるほど・・・。これで俺が今までやっていた科学技術計算をマクロ化できそうやなぁ~。

シママ

あとね、セル位置って別にA1とかA3とかで指定しても値を代入することはできるのよ。

ストーク

あ、ホンマや。

シママ

でも、わざわざ、Cells(1,4)みたいなセルの指定の仕方をするのは、
今みたいにFor文と組ませるためなの。

ストーク

そっか。A1,A2のような書き方やとiに置き換えられへんもんな~。

条件分岐文(if文)

ストーク

if文も書けるんよな?

シママ

もちろん!こんな感じにね!

サンプルプログラムを示します。

※プログラムここから※
Sub even_odd()

Dim i As Integer
Dim num As Double

With Worksheets(“Sheet1”)
.Cells(1, 1) = 1
num = .Cells(1, 1)

For i = 1 To 10 Step 1

If i Mod 2 = 0 Then
.Cells(i, 2) = num * i
Else
.Cells(i, 3) = num * i
End If
Next i

End With
End Sub

※プログラムここまで※

ストーク

これは・・・。i Mod 2と言うのは、iを2で割った余りを求めるって意味やな?

シママ

そうそう!それが0なら偶数で、そうでなければ奇数でしょ?

ストーク

そっか。i = 2,4,6・・・なら、i Mod 2 = 0がTrueだから、2列目(B列)に出て、
それ以外の1,3,5・・・は3列目(C列)に出るのか・・。

シママ

そうその通り!実行すればこんな感じになるよ!

まとめ

VBAでの基本的なfor文やif文の使い方をまとめました。
上記サンプルプログラムは、そのままコピーアンドペーストすれば使えるようになっています。ぜひ、自分でコピーアンドペーストして遊んでみてください。

shimakei8364

Recent Posts

  • PC/プログラミング

ブログ飯について ~ブロガーは稼げるのか?~

資料請求番号:PH ブログで収入を得るこ…

3年 ago
  • 写真/旅行

花の撮り方(可愛く撮る5つのコツを紹介)

資料請求番号:PH15 花を撮るためのレ…

4年 ago
  • English ver.

【Windows10】How to change file extension?

Display the file ext…

5年 ago
  • 写真/旅行

【観光 買い物】おすすめの秋葉原電気街の歩き方マップ

資料請求番号:PH83 秋葉原迷子卒業!…

5年 ago
  • 化学/物理

【どうやってはかる?】富士山の体積の計算方法

資料請求番号:TS31 富士山の体積をは…

5年 ago
  • 化学/物理

数学を使った美しい曲線のグラフィック

資料請求番号:TS11 エクセルを使って…

5年 ago