エクセルVBA超入門講座(4) -分岐のIFを覚えよう

分岐ができればプログラムができる

分かれ道

コンピューターはプログラムに書かれた命令を上から順番に実行します。そして、入力されたデータに応じて分岐することがあります。

たとえば、イベントなどの入場券の自動販売機で、入場券が大人1000円、子ども500円だったとします。もし、子どもボタンが押されていたら500円、そうでなければ1000円です。エクセルVBA でプログラムを書くと、こんな感じです。

If 子どもボタン = On Then
料金= 500
Else
料金 = 1000
End If

If ~ Then は英語の意味のとおり、もし~だったら を示します。

その条件に合っているときだけその下の行が実行されるのです。処理が終わったあとはEnd If のあとまでジャンプします。

一方その条件に合っていないときはその下の Else (その他)のところに書かれた処理が実行されます。

And と Or で複雑な条件も書ける

判定条件は1つでないときもあります。
If x=1 And y=1 Then
と書いた場合は、xが1で かつ yが1のときだけその下の処理をやります。

一方
If x=2 Or y=3 Then
と書いた場合は、xが2 または y=3 のどちらか一方でも成り立ったらその処理をやります。

And が「かつ」で Or が「または」です。英語そのままなので言われなくてもわかるでしょうけれど。

割引がいくつあっても大丈夫

Else の前にElse If というのも使えます。

If Nenrei < 18 Then Ryokin = 500
 Ryokin = 500
Else If Nenrei > 70 Then
Ryokin= 700
Else
Ryikin = 1000
End If

この場合、年齢が18歳未満だと500円、70歳を越えるとシルバー割引で700円、それ以外が1000円となります。説明しなくても、感覚的に分かるかもしれませんね。

Else If のあとにさらにElse If をいくつもつけることもできます。
学割とか、シルバー割とか、家族割とか、水割りとか(?!)、割引がたくさんあっても、いくらでも Else If をつけられます。

分岐ができるだけでもプログラムらしくなってきます。分岐をマスターしちゃいましょう。


(A) エクセルプログラミング個人レッスン -実際に使える処理を作ります。をやってます。6000円。くわしい説明と最新スケジュールはこちら

  • 7/20(土)横浜 14:00-16:00 予約済

(B) エクセルプログラミング初級勉強会 5000円。詳しくはこちら

  • 7/27(土)横浜 13:00-16:00
         マクロの操作とセルの色や罫線の自動編集編
  • 8/4(日) 横浜 13:00-16:00
         セル内の文字列の編集編

(C) 夏休みの自由研究ができあがる、親子エクセルプログラミング教室 
   親子で5000円。詳しくはこちら

  • 7/27(土)横浜 10:00-12:00
         クイズゲームを作ってみよう
  • 8/4(日) 横浜 10:00-12:00
         かるたゲームを作ってみよう