【第5回】Excel画面から信号の点灯時間を変更しよう | 現役システムエンジニアからのメッセージ

現役システムエンジニアからのメッセージ

発表スライドの作成方法,動画の作成方法,就活、プログラミングなどについて書いています。最近では、知育としてLaQを楽しんでいます。

小学校でプログラミング教育が必修化となり、注目を集めていますが、下記のような悩みを抱えている方いませんか?

・そもそもプログラミングって何?

・どうやって学んでいけばいいの?

・社会で通用するプログラミングスキルとは?

 

このようなお悩みを解決するために、身の回りの自動化を題材に楽しく学んでいきましょう。

 

今回は、「信号機プログラム」を題材に取り上げます。

 

第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 オブジェクトを使用する

 

次回は、車を走らせるプログラムを作成していきます。