皆さまこんにちは!
このサイトの管理者のHide(ヒデ)と申します。
前回のブログで、Excelでの簡単なプログラムの書き方についてお伝えしました。
今回は、画面に色々な情報を表示してみたいと思います。ここでいう画面とはイミディエイトウィンドウのことです。本ブログではこのウィンドウに情報を表示しながらプログラムの動きを学んでいきます。
では、はじめましょう。
1. 文字をつなげて表示する
文字をつなげるとは、例えば「あいうえお」と「かきくけこ」をつなげると「あいうえおかきくけこ」となるイメージです。なぜこのようなことをする意味があるのか今の段階ではわかりませんよね。後々わかってきますので、まずは文字をつなげるプログラムを書いてみましょう。
1-1. 前回のブログで下図のようにVBEの画面のMo01_Displayというモジュールに「DispTest1」という名前のプログラムを作成しました。今回のブログではこのプログラムの上側にプログラムを入力していきたいと思います。ちょうど赤矢印の部分に入力しましょう。
では、下記のようにVBEの画面に入力してみましょう。今回のプログラムの名前はDispTest2としました。下図のプログラムの中で「&」記号がありますが、今回のプログラムのポイントになります。「&」は半角で入力します。この「&」は文字と文字を連結してくれる役割があります。また、文字の前後は半角の「"(ダブルクォーテーション)」で囲む約束があるという点と文字と「&」記号の間には半角スペースを1つ入れることに注意して入力してください。またプログラムが見やすいように行間のスペースは任意で入れてくださいね。
Sub DispTest2()
Debug.Print "あいうえお" & "かきくけこ" & "さしすせそ"
End Sub
1-2. 入力すると下図の赤枠部のようになりました。みなさんはいかがでしょうか。下図を見て頂くとわかりますが赤矢印の部分のようにプログラムとプログラムの間に自動的に区切りの線が引かれます。プログラムの切れ目を自動的にわかりやすくしてくれます。また、このように1つのモジュールの中にいくつも自由に目的に応じたプログラムを作成することができるという点も覚えておいてください。
1-3. それではプログラムを実行してみましょう。「Sub DispTest2」と「End Sub」の間のどこでもよいのでマウスでクリックして今回書いたプログラムの中にカーソルを配置した後、キーボードのF5キーを押すか、または、VBEの画面上部にある「実行」メニューから「Sub/ユーザーフォームの実行」をクリックします。
1-4. すると、下図のようにイミディエイトウィンドウに「あいうえおかきくけこさしすせそ」という文字が表示されました。元々「あいうえお」「かきくけこ」「さしすせそ」の3つに分かれていた文字列が1つの文字列つながったことがお分かりいただけたでしょうか。確認できましたら、イミディエイトウィンドウの内容はクリアしておいてください。(表示された結果を選択してDeleteキーでクリアできますよ!)
2. 計算結果を表示する
次に簡単な計算を行って画面(イミディエイトウィンドウ)に表示してみましょう。
2-1. さきほど書いたプログラム「DispTest2」の上(下図の赤矢印部)の間にプログラムを入力していきます。
下記のようにVBEの画面に入力してみましょう。今回のプログラムの名前はDispTest3としました。今回のプログラムでは、通常の算数で計算するように(5+3)×2 という計算を行って結果を表示するということをしてみたいと思います。「×」の部分はプログラムでは「*(アスタリスク)」にして入力します。
Sub DispTest3()
Debug.Print (5+3)*2
End Sub
2-2. 入力すると下図の赤枠部のようになりました。補足になりますが、「(5+3)*2」と入力した部分について、Excelの方で文字のスペースを見やすいように開けて表示してくれます。
2-3. それではプログラムを実行してみましょう。「Sub DispTest3」と「End Sub」の間のどこでもよいのでマウスでクリックして今回書いたプログラムの中にカーソルを配置した後、キーボードのF5キーを押すか、または、VBEの画面上部にある「実行」メニューから「Sub/ユーザーフォームの実行」をクリックします。
2-4. すると、下図のようにイミディエイトウィンドウに(5+3)*2の計算結果である「16」が表示されました。
今回、簡単な計算を行ってみましたが、通常の算数で利用する「+,-,*,/」や「()」を使ってプログラムの中に数式を書いて計算結果を表示することができます。イミディエイトウィンドウの内容は次の例題のためにクリアしておいてください。
3. 計算結果をわかりやすく表示する
本ブログで最初に作成した「文字をつなげて表示する」プログラムの意味がここでお分かり頂けると思います。
3-1. さきほど書いたプログラム「DispTest3」の上(下図の赤矢印部)の間にプログラムを入力していきます。
下記のようにVBEの画面に入力してみましょう。今回のプログラムの名前はDispTest4としました。今回のプログラムでは、(5+3)×2 という計算結果に説明を付けて表示するということをしてみたいと思います。入力する際、「×」の部分は「*」にするという点、文字の前後は半角の「"(ダブルクォーテーション)」で囲むという点と「&」記号の前後に半角スペースを1つ入れる点に注意してください。
Sub DispTest4()
Debug.Print "計算結果は" & (5+3)*2 & "です。"
End Sub
3-2. 入力すると下図の赤枠部のようになりました。
3-3. それではプログラムを実行してみましょう。「Sub DispTest4」と「End Sub」の間のどこでもよいのでマウスでクリックして今回書いたプログラムの中にカーソルを配置した後、キーボードのF5キーを押すか、または、VBEの画面上部にある「実行」メニューから「Sub/ユーザーフォームの実行」をクリックします。
3-4. すると、下図のようにイミディエイトウィンドウに「計算結果は16です。」と表示されました。今回の例題のポイントになりますが「&」記号を利用して文字同士をつなげるだけでなく、計算結果もつなげて表示することができます。文字をつなげる意味がこれでお分かり頂けたのではないでしょうか。
今回3つの例題を通してイミディエイトウィンドウに色々な情報を表示することを試しました。また、1つのモジュールに目的に合わせたプログラムをいくつも記述できるという点も見てきました。
お疲れさまでした!
【電子書籍出版のご案内】
本ブログで扱っている「Excel VBA 入門」の内容が、内容を大幅に増やした形で電子書籍(Kindle)になりました。ご興味のある方は、ぜひご覧頂ければ幸いに存じます。
Excel VBA に挫折しないためのプログラミング超入門 (基礎から応用まで)