トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > VBAとの出会い編 第4話「江口さんの大失敗!」

 

制御構文をマスターしよう!

「星、貸している本で制御構文のところはもう読んだかい?」 「いや~、サラっと眺めた程度で…」

星くんが頭をかきながら答えます。

「わかった。ちょうどいい機会だから、今回、制御構文をマスターしよう」

八木くんはカタカタと、何かパソコンに打ち込みます。

制御構文の種類
 ・分岐処理(条件によって処理を選択する)
 ・繰り返し処理(必要な回数分処理を繰り返す)

「最初にちょっと話したけど…。こんな条件のときにこの処理をしたいとか、
この処理を何回か繰り返したいとか、そういったことがプログラムではよくあるんだ。
そのために必要になるのが制御構文で、これは必ずマスターしなければならないテクニックなんだ」
「い、Ifなんとかとか、Forなんとかっていうやつかい?」 「"Ifステートメント"と"For…Nextステートメント"!この2つは必ず覚えるんだ。
さもないと複雑なプログラムを作れないぞ。いいかい?
制御構文には、条件によって処理を選択する"分岐処理"と、
必要な回数分処理を繰り返す"繰り返し処理"、この2種類しかないんだ」

八木くんが、さらにパソコンに打ち込みます。

制御構文の種類
 ・分岐処理(条件によって処理を選択する)
  ・Ifステートメント
  ・Select…Caseステートメント
 ・繰り返し処理(必要な回数分処理を繰り返す)
  ・For…Nextステートメント
  ・Do…Loopステートメント

「分岐処理で使用するのが、IfステートメントとSelect…Caseステートメント、
繰り返し処理で使用するのがFor…NextステートメントとDo…Loopステートメント、
基本的にこの4つのステートメントをマスターすれば、ほとんどのプログラムは作成できる。
今回はIfステートメントとFor…Nextステートメント、この2つについてマスターしよう」
「わかったよ…やさしく教えてくれるかい?」 「もちろん。まずはIfステートメントからだ。
星、ワークシート関数のIf関数はどんなときに使う?」
「…そうだなあ。例えば、あるセルとあるセルの値が等しいときは"○"を、
異なっているときは"×"を表示するとか…そんなときに使うかな?」

八木くんが親指を立てビンゴ!のジェスチャーをします。

「そのとおり!VBAのIfステートメントも、全く同じように使うんだ。
ただ記述の仕方が、If関数と少し違うだけなんだよ」

八木くんがVBEにカタカタとコードを打ち込みます。

Sub Sample()
    Dim A
    A = InputBox("数値を入力してください")
    If A = 100 Then
        MsgBox "入力された値は100です"
    End If
End Sub

「星、このコードを実行するとダイアログボックスが表示される。
そこに数値の100を入力すると、どうなると思う?」
「んん?」

星くんはVBEのコードをジッとのぞきこみました。

第5話「星くん、分岐処理を学ぶ!」に続く

文・イラスト / 武藤 玄

やってみよう!Excel VBAで業務改善!|VBAとの出会い編
星くんと一緒にSTEP UPしませんか?
シーズン1 「VBAとの出会い」編: 各エピソードへのリンク
一覧にもどる