小学校でプログラミング教育が必修化となり、注目を集めていますが、下記のような悩みを抱えている方いませんか?
・そもそもプログラミングって何?
・どうやって学んでいけばいいの?
・社会で通用するプログラミングスキルとは?
このようなお悩みを解決するために、身の回りの自動化を題材に楽しく学んでいきましょう。
今回は、「信号機プログラム」を題材に取り上げます。
第1回~第4回までの内容はこちらに掲載しています。
事前に見ていただくことをお勧めします。
第5回目は、青・黄・赤の点灯時間が固定だったのを、Excel画面から変更できるようにする方法をご紹介します。
1. Excel画面とVBA画面の起動
第1回~第4回で作成したファイルを開き、下記の手順でマクロを有効にし、VBA画面を起動します。
※プログラム(VBA)が含まれるファイルを開くと、「セキュリティの警告」が表示されることがあります。表示されない方は、そのまま次の手順に進んでください。
2. 入力画面の作成
Excel画面の任意のセル(例:H10~H12)に青・黄・赤の点灯時間を入力するためのエリアを作成します。
3. セルの値をVBAに読み込むプログラムの作成
セルの値をVBAに読み込むには、Range オブジェクトを使用します。
(補足:Cellsプロパティでも同様のことは可能です。)
サンプルコードを使用し、下記の手順で作成します。
サンプルコード
Dim blue_time, yellow_time, red_time As Single
blue_time = ActiveSheet.Range("H10").Value
yellow_time = ActiveSheet.Range("H11").Value
red_time = ActiveSheet.Range("H12").Value
Rangeの( )に値を読み込みたいセルを入力します。手順「2. 入力画面の作成」でH10~H12を使用しているため、ここでもH10~H12を使用します。
これにより、[blue_time](変数)にセルH10の値である「3」、[yellow_time](変数)にセルH11の値である「1」、[red_time](変数)にセルH12の値である「2」が格納(代入)されます。
4. 固定値から変数にプログラムを変更
第3回で作成したプログラムは、下記になります。
経過時間を判断する値は固定値にしていました。
この場合、変更したいときは、プログラムを変更する必要があります。
そこで、プログラムを変更しなくても、経過時間を判断する値が変わるように、下記の手順で変更します。
以上でプログラムは完成です。
5. 動作確認
それでは、作成したプログラムを開始して動作を確認します。
青・黄・赤の点灯時間をいろいろ変更してみましょう。
以上で第5回目の内容は終了です。
【ポイント】
- Excel画面のセルの値をVBAに読み込むには、Range オブジェクトを使用する
次回は、車を走らせるプログラムを作成していきます。