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

Excel×栄養計算ソフト

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

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

今回から実際にプログラミングに入っていきます。今回は主に下記の点について紹介します:

  1. VBE(VBAを書くためのエディタ)を開く方法
  2. VBEを使いやすく設定する方法
  3. VBAを実行するための方法

では,行きましょう!

スポンサーリンク

VBEを開こう!

まずはVBAを書くためのエディタ:VBEを開いていきます。VBAのコードは,すべてこのVBEに書いていきます。

「開発」をメニューに表示するための設定

VBEはExcelメニューの「開発」から開くことができます。ただし,初期設定のままでは,「開発」が表示されていない場合があります。そこで下記に従って,「開発」をメニューに表示してみましょう。

  1. Excelを開き,「ファイル」「オプション」を選択し,Excelのオプションを開きます。
  2. 左側のメニューの「リボンのユーザー設定」を選択します。
  3. 右側メインタブの「開発」のチェックボックスにチェックを入れ,「OK」をクリックします。

メニューに「開発」が表示されます。

VBEを開く方法

では,表示した「開発」からVBEを開いてみましょう:

  1. Excelメニューの「開発」をクリックします。
  2. 「Visual Basic」をクリックします。

下記の画面のように,VBEが開きます。

VBEはメニューからだけでなく,ショートカットキーを利用しても表示できます。Alt + F11 を押すことで,マウス操作なしでVBEを表示可能です。

VBEの設定を変更しよう!

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

「自動構文チェック」を外す

初期状態では「自動構文チェック」がオンになっていますが,これがオンのままだとコードを書いている途中で何度もストップさせられてしまうことになるので,下記で設定を変更します:

  1. VBEを開きます。
  2. メニューの「ツール」「オプション」をクリックします。
  3. オプション画面が開きますので,「自動構文チェック」のチェックを外します。
  4. 「OK」をクリックします。

コードの表示色やフォントを変更する

次に,VBEで使用するコードの表示色やフォントを変更していきましょう。初期設定の表示色やフォントは,お世辞にも読みやすいものとは言えません。些細なことのように思えるかもしれませんが,これを変更することで格段に読みやすくなります。

  1. VBEを開きます。
  2. メニューの「ツール」「オプション」をクリックします。
  3. オプション画面が開きますので,タブ「エディターの設定」を選択します。
  4. 下記の表に従い,「コードの表示色」「前景」「背景」を編集します。
      
  5. 「フォント名」「Meiryo UI (日本語)」に変更します。
  6. 完了したら「OK」をクリックします。

もちろん,上記は好みに応じて変更していただいて構いません。ちなみに,上で示した例は,以下のページの丸パクリです。すごく参考になりますので,私のページで設定方法がわからない等ありましたらご参照ください。

VBAを実行しよう!

上記までで,VBAを実行するベースとなるVBEの設定を行いました。ではいよいよVBAのコードを書いてきましょう。

標準モジュールを追加する方法

まずは,コードを書く場所を作っていきます。コード自体は,Excelのブックやワークシートなどのオブジェクトに紐付いたモジュールに書くこともできますが,一般的にはオブジェクトに紐付かない・汎用的な「標準モジュール」と呼ばれる場所に書かれることが多いです。

今回書くコードについては,シートモジュール(ワークシートに紐付いたモジュール)に書いても問題ないのですが,今後は標準モジュールに書いていく場合もあるかと思いますので,最初の段階で標準モジュールの挿入方法を知っておきましょう。

  1. VBEを開きます。
  2. メニューの「挿入」「標準モジュール」を選択します。

これで「標準モジュール」が挿入できます。

プロシージャを追加する方法

では,追加した標準モジュールにコードを書いていきましょう。

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

ここでは,「Subプロシージャ」と呼ばれるプロシージャについて紹介します。Subはsubroutineの略で,プログラムを構成する一要素であることを示しています。Subプロシージャを使用するためには,下記のSubステートメントを使用します:

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

では実際に,「こんにちは,世界!」と表示するSubプロシージャを追加してみましょう。

  1. オブジェクトブラウザ(右側のウインドウ)から「Module1」をダブルクリックします。
  2. Module1のコードウインドウが開きますので,下記のコードを入力します。
Sub メッセージの表示()
    MsgBox ("こんにちは,世界!")
End Sub

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

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

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

プロシージャを実行する方法

では,実際に上記で書いたコードを実行してみましょう。

  1. 上記で書いたコードの中に,カーソルを置きます。
  2. VBEの上の方にある(Sub/ユーザーフォームの実行)を押します。

実行は,ショートカットキー F5 でも可能です。

シートを確認してみると,下記のようにメッセージボックスが表示されていることを確認できます。

これでコードを実行することができました!

保存の際に少し注意

さて,上記まででコードを実行することができました。

とここで,VBAのコードを入力したブックを保存する方法について紹介します。というのも,VBAのコードを入力したブックを保存する際には注意が必要となります。Excelの標準のファイル形式:xlsxやxlsではマクロを持った状態のブックとしては保存できないのです。そのため,保存時に「xlsm」というファイル形式で保存する必要があります。

  1. Excel画面を選択した状態で F12 を押します(「名前を付けて保存」のショートカットキー)。
  2. 任意の保存場所を選択します。
  3. 「ファイル名」に任意のファイル名を入力し,「ファイルの種類」「Excelマクロ有効ブック (*.xlsm)」を選択します。
  4. 「保存」をクリックします。

これで,マクロ付きのExcelブックを保存することができました!

演習問題

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をコピーしました