今回から新連載スタートです。「栄養計算ソフトにユーザーフォームを導入しよう」を開始します。
以前に作成した栄養計算ソフトに,ユーザーフォームを追加し,食品を簡単に入力できるようにしてきます。
初回である今回は,前提となる知識と,最終的にどのような形になるのか,ユーザーフォームを始めるための第一歩を紹介していきます。
前提となる知識
今回の連載においては,ExcelVBAの基本的な知識があることを前提としています。
基本的な知識があるといっても,何もVBAを自由に使いこなせるレベル,とまでは求めません。一応,VBA入門に該当する連載を,当ブログでも行っていますので,そちらを一応最後まで読んだよ,というレベルで構いません。
また,栄養計算を行っていくに際して,食品成分表に関する基本的な知識もある前提としています。こちらも,栄養学を学んだことがあったり,栄養士・管理栄養士を取得しているようなレベルであれば,問題はありません。
また,栄養計算ソフトを作成する連載も行っていますので,これを最後までご覧になることをおすすめします。
Excelで栄養計算ソフトを自作しよう!第1回:どんなソフトになるか?
それは少し時間的に面倒だという場合は,完成済みの栄養計算ソフトも用意してますので,そちらをご活用ください。
最終的にこうなる
まず最終的にこうなるという完成形をお見せしたいと思います。
栄養計算シートに,「食品群から入力」と「検索して入力」のボタンを設置し,それをクリックすることでユーザーフォームが開きます。そのユーザーフォームから,栄養計算ソフトに食品を入力できるようにしていきます。
栄養計算ソフトを自作され,それを運用しているとわかるのですが,食品コードを手打ちするのはかなり面倒です。そのため,食品の一覧から,それを入力できたり,また検索して入力できたりすると,非常に楽になります。こういったフォームを,最終的には完成させたいと思います。
ユーザーフォームを始めよう!
ではさっそく,ユーザーフォームを始めていきましょう。以下の手順に沿って実行してください。
①栄養計算ソフトをダウンロードしよう
自作した,栄養計算ソフトを開いてください。以前の連載で作成したものをご利用いただいて構いません。
なお,お持ちでない方は以下からダウンロードしてください:
②ずユーザーフォームを作成してみよう
本日は導入ですので,とりあえずユーザーフォームを作成してみましょう。
VBEを開き,「挿入」→「ユーザーフォーム」の順にクリックしてください。以下のようなフォームが作成されるはずです:
③メッセージを出してみよう
これでユーザーフォームを作成することができました。
最初ですので,「Hello, World!」とメッセージを出すボタンを設置してみましょう。左側にツールボックスがあるかと思いますので,「コマンドボタン」をクリックし,フォーム上のどこでも構いませんので,クリックしてください。以下のようなボタンが表示されるはずです:
せっかくなので,このボタンに表示されている文字を変更してみましょう。ボタンを右クリック→「プロパティ」を選択してください。左側のウインドウに,ボタンのプロパティが表示されますので,「Caption」を「メッセージの表示」に変更してください。
次に,メッセージを表示するためのコードを記述していきます。フォーム上のボタンをダブルクリックしてください。
そうすると,コードウインドウが表示されます。デフォルトとして以下のようなコードが記述されていると思います。
Private Sub CommandButton1_Click() End Sub
CommandButton1
をクリックした際に実行されるコードです。以下のように変更することでメッセージを表示させることができます:
Private Sub CommandButton1_Click() MsgBox "Hello, World!" End Sub
では実際にやってみましょう。まずはユーザーフォームを表示させてみます。左側のプロジェクトエクスプローラから「UserForm1」をダブルクリックしてください。
先ほどの画面に戻りますので,この状態で上の矢印ボタンをクリックしてください。
これでフォームが表示されます:
そして,フォーム上のメッセージの表示をクリックしてください。すると,以下のようなメッセージが表示されます。
これでユーザーフォームを実際に動かしてみることができました!
まとめ
今回は,今後ユーザーフォームを作成していく上で必要となる前提知識と,最終的な完成形,また,実際にユーザーフォームを作成し,その始め方について紹介しました。次回はユーザーフォームの雛形を作成し,そのフォームを呼び出すためのボタンをシート上に設置していきたいと思います。