【ExcelVBA】ユーザーフォームを始める最初の1歩【ユーザーフォーム】

Excel

今回から新連載スタートです。「栄養計算ソフトにユーザーフォームを導入しよう」を開始します。

以前に作成した栄養計算ソフトに、ユーザーフォームを追加し、食品を簡単に入力できるようにしてきます。

初回である今回は、前提となる知識と、最終的にどのような形になるのか、ユーザーフォームを始めるための第一歩を紹介していきます。

前提となる知識

今回の連載においては、ExcelVBAの基本的な知識があることを前提としています。

基本的な知識があるといっても、何もVBAを自由に使いこなせるレベル、とまでは求めません。一応、VBA入門に該当する連載を、当ブログでも行っていますので、そちらを一応最後まで読んだよ、というレベルで構いません。

管理栄養士のためのVBA入門|第1回:VBAとは?

また、栄養計算を行っていくに際して、食品成分表に関する基本的な知識もある前提としています。こちらも、栄養学を学んだことがあったり、栄養士・管理栄養士を取得しているようなレベルであれば、問題はありません。

また、栄養計算ソフトを作成する連載も行っていますので、これを最後までご覧になることをおすすめします。

Excelで栄養計算ソフトを自作しよう!第1回:どんなソフトになるか?

それは少し時間的に面倒だという場合は、完成済みの栄養計算ソフトも用意してますので、そちらをご活用ください。

 

最終的にこうなる

では、最終的にこうなる、という完成形をお見せしたいと思います。

栄養計算シートに、「食品群から入力」と「検索して入力」のボタンを設置し、それをクリックすることでユーザーフォームが開きます。そのユーザーフォームから、栄養計算ソフトに食品を入力できるようにしていきます。

栄養計算ソフトを自作され、それを運用しているとわかるのですが、食品コードを手打ちするのはかなり面倒です。そのため、食品の一覧から、それを入力できたり、また検索して入力できたりすると、非常に楽になります。こういったフォームを、最終的には完成させたいと思います。

 

ユーザーフォームを始めよう!

ではさっそく、ユーザーフォームを始めていきましょう。以下の手順に沿って実行してください。

①まずは栄養計算ソフトをダウンロードしよう

自作した、栄養計算ソフトを開いてください。以前の連載で作成したものをご利用いただいて構いません。

なお、お持ちでない方は、こちらからダウンロードしてください。

②とりあえずユーザーフォームを作成してみよう

本日は導入ですので、とりあえずユーザーフォームを作成してみましょう。VBEを開き、「挿入」→「ユーザーフォーム」の順にクリックしてください。以下のようなフォームが作成されるはずです。

③メッセージを出してみよう

これでユーザーフォームを作成することができました。最初ですので、「Hello, World!」とメッセージを出すボタンを設置してみましょう。左側にツールボックスがあるかと思いますので、そちらの「コマンドボタン」をクリックし、フォーム上でまたクリックしてください。そうするとボタンが設置されます。

せっかくなので、このボタンに表示されている文字を変更してみましょう。ボタンを右クリック→「プロパティ」を選択してください。左側のウインドウに、ボタンのプロパティが表示されますので、「Caption」を「メッセージの表示」に変更してください。

次に、メッセージを表示するためのコードを記述していきます。フォーム上のボタンをダブルクリックしてください。そうすると、コードウインドウが表示されます。以下のようなコードが記述されているかと思います。

このコードは、コマンドボタンがクリックされた際に起動されます。早速、メッセージを表示するコードを追加してください。以下のようになれば正解です。

では、実行してみましょう。左側のウインドウからフォームを選択し、フォームを編集するウインドウに戻ってください。その状態でF5を押して実行すると、フォームが表示されます。ボタンをクリックして、メッセージが表示されるか試してみてください。

 

まとめ

今回は、今後ユーザーフォームを作成していく上で必要となる前提知識と、最終的な完成形、また、実際にユーザーフォームを作成し、その始め方について紹介しました。次回はユーザーフォームの雛形を作成し、そのフォームを呼び出すためのボタンをシート上に設置していきたいと思います。

 

連載目次

  1. ユーザーフォームを始める最初の1歩
  2. フォームを設置→開くをやってみよう!
  3. リストボックスからシートに食品を追加してみよう!
  4. オプションボタンから動的にリストボックスの内容を変更しよう!
  5. ユーザーフォームにエラー処理を実装しよう!
  6. コードを読みやすいリーダブルコードに改善しよう!
  7. 食品成分表から検索→食品入力をしてみよう!
  8. 栄養計算ソフト+ユーザーフォームの完成!DLも可