管理栄養士のためのVBA入門|第2回:VBAを実行してみよう

Excel×栄養計算ソフト
この記事は約6分で読めます。

みなさん,こんにちは。
シンノユウキ(shinno1993)です。

今回は「管理栄養士のためのVBA入門」の第2回,以下の記事の続きです:

今回から実際にプログラミングに入っていきます。まずはプログラムを書く場所や,書いたプログラムを実行するための方法などを紹介していきます。

では,行きましょう。

VBEを開こう!

まずはVBAを書くためのエディタ:VBEを開きます。そのためにはまずはExcelを起動してください。その後,VBEを開いていきます。

メニューの「開発」→「Visual Basic」の順にクリックしてください。VBEが起動されます。VBEは「Visual Basic Editer」 の略で,その名の通りVBを編集する場所,つまりコードを書いていく場所となります。

VBEを開くと,以下のような画面が立ち上がるはずです。今後VBAを書いていく際は,このエディタ上で書いていくこととなります:

なお,人によっては,メニューに「開発」タブが無い場合もあるかもしれません。その場合は先に表示させましょう。Excelメニューの上で右クリックをし,「リボンのユーザー設定」を選択してください。

すると,以下のような画面が立ち上がります。

これの右側のウインドウ,「開発」のチェックボックスにチェックを入れ,OKをクリックしてください。そうすると,メニュータブに「開発」が表示されます。後は先ほどと同じ手順で,VBEを表示させましょう。

VBEの設定を変更しよう!

さて,上記までの作業でVBEを表示することができました。ただし,初期設定の状態のVBEは非常に使いにくいものです。以下で使いやすいようにVBEの設定を変更します。

VBEの画面で,メニューの「ツール」「オプション」をクリックしてください。

以下のような画面が表示されましたか?では設定を変更していきましょう。

まずは「自動構文チェック」のチェックを外してください。

次に,メニュータブの「エディターの設定」をクリックし,コードの表示色やフォントを変更していきます。

主な変更点は以下の通りです。

コードの表示色前景背景
標準コード黄色
コメント薄いグレー
キーワード水色
識別子

フォントも,「Meiryo UI」に変更してください。ディスプレイで見るにはなかなか良いフォントです。印刷物には向いてないですが。視認性はすごく良くなります。

ちなみに,これは以下のページの丸パクリです。便利なので使ってしまいました。すごく参考になりますので,私のページで設定方法がわからない等ありましたらご参照ください。

標準モジュールを追加しよう!

いよいよコードを書いていくわけですが,最初の段階ではコードを書く場所が存在しません。一般的に,コードは「標準モジュール」という場所に書いていくわけですが,この標準モジュールという場所は最初の段階では表示されていません。そのため,まずは標準モジュールを追加する必要があります。

VBEのメニューの「挿入」「標準モジュール」の順でクリックしてください。すると,左側のウインドウに「標準モジュール」というフォルダが作成され,その内側に「Module1」が追加されたはずです。

ちなみに,この左側のウインドウのことを「プロジェクトエクスプローラ」と呼びますので,余裕のある方は覚えておきましょう。

では,このModule1をダブルクリックしてみてください。以下のようなコードを書く場所が表示されるはずです。ここにコードを書いていきましょう。

本来は,このModule1以外にもコードを書く場所は存在するのですが,初心者の方は,まずはこの場所に書くものであると認識しておくとよろしいかと思います。

プロシージャを追加しよう!

では早速コードを書いていきます。コードを書くためには,そのコードを書くための枠組みのようなものから書いていく必要があります。コードの枠組みというのは,一度に実行されるコードの塊みたいなもののことで,「プロシージャ」と呼びます。まずはこのプロシージャを追加していきます。

プロシージャは,以下のような構造を持っています。

Sub プロシージャ名()
    実行するプログラムの内容
End Sub

Subはsubroutineの略で,プログラムを構成する一要素であることを示しています。

そして,Subと,終わりを意味するEnd Sub の間にプログラムを記述していきます。

メッセージを表示してみよう!

では,実行するプログラムの内容を書いていきます。以下のようなコードが完成形です。これをとりあえず打ち込んでみましょう。

Sub メッセージの表示()
    MsgBox ("こんにちは,世界!")
End Sub

最初は,こんなコードでも,全く意味がわかりませんよね。そんな場合でもとりあえず手を動かして打ち込んでみることが重要です。手を動かして書いているうちに,だんだんと意味がわかってきます。反対に,手を動かさず,意味だけを理解しようと必死にコードを読み込んでいっても実際に使えるようにはなりません。

では,コードの解説をしていきます。

  • 1行目:「メッセージの表示」という名前のSubプロシージャを宣言しています。
  • 2行目:Excel画面上にメッセージを表示させるMsgBox関数を使用しています。カッコで表示させたいメッセージを入力することで,メッセージを表示させることができます。
  • 3行目:プロシージャの終了を意味しています。

では,実際に実行してみましょう。

実行は,F5でできます。カーソルをコード上においてから行ってください。シートを確認してみると以下のようになっています。

「こんにちは,世界!」というメッセージボックスが表示されましたね。意外と簡単にできることがわかっていただけたかと思います。

保存の際に少し注意

VBAのコードを入力したブックを保存する際には注意が必要です。Excelの標準のファイル形式:xlsxやxlsではマクロを持った状態のブックとしては保存できないのです。そのため,保存しようとすると以下のようなダイアログが表示されてしまいます。

ここでは「いいえ」をクリックして,マクロが有効なファイル形式として保存し直してください。以下のように変更すればOKでしょう。

演習問題

MsgBox関数を使って,「Hello World!」を出力するプログラムを作ってみましょう。

作成する際は,新しくSubプロシージャを作成し,プロシージャ名は「演習2」としてください。

まとめ

今回は「VBAで食品入力を簡単にしよう」の第2回で,VBAの始め方や,また少しですが実際にコードを書いてみました。

初心者の方にはハードルがかなり高かったかと思いますが,何度か繰り返し読んでみて,理解できるように頑張りましょう。

連載目次

  1. 管理栄養士のためのVBA入門|第1回:VBAとは?
  2. 管理栄養士のためのVBA入門|第2回:VBAを実行してみよう現在のページ
  3. 管理栄養士のためのVBA入門|第3回:セルを操作してみよう
  4. 管理栄養士のためのVBA入門|第4回:変数と定数について理解しよう
  5. 管理栄養士のためのVBA入門|第5回:条件分岐を理解しよう
  6. 管理栄養士のためのVBA入門|第6回:繰り返し処理を理解しよう
タイトルとURLをコピーしました