【EXCEL VBA】UserFormを使ってみよう その1

VBA

今回はUserFormを使って入力フォームを作っていこうと思います。
今回作成するプログラムは作業記録を付けるマクロを作っていこうと思います。
ぶっちゃけ手打ち入力の方が速いと思いますが、作ってみる価値は十分あると思います。

スポンサーリンク

まずは完成物を確認してみよう

下記のファイルが完成形のファイルです。

作業記録(完全版)

簡単に説明すると、一番上のボタン「入力フォーム」を押すと、
画面下側にある作業入力フォームというUserForm1が出てきます。
この作業入力フォームに各項目を入力して、登録を押すと、背景が水色の部分に入力した内容が反映されていきます。

今回の記事はこの作業入力フォームを作成します。
イベントプログラムは次の記事で説明しますので、レイアウトがメインの記事です。

VBAの変数画面からUserFormを新規作成する。

UserFormはVBAの編集画面の「挿入」からユーザーフォームを選択し作成します。

次にツールボックスを表示させます。
下記の画像のアイコンをクリックしてください。

このツールボックスを使用してボックスをレイアウトしていきます。

今回使用するのは、ラベル、テキストボックス、コンボボックス、コマンドボタンの4つです。

  • ラベル
    ラベルは文字を表示します。
  • テキストボックス
    文字を入力できるボックスを表示させます。
  • コンボボックス
    事前に準備したリストから1つ選択できます。(手打ち入力もできます。)
  • コマンドボタン
    ボタンを設置できます。

この4つを使用してお好きなレイアウトにしてみてください。
自分が作成したUserFormは

ラベルは「年月日」、「作業者名」、「作業内容」の3つ
テキストボックスは「年月日」、「開始時間」「終了時間」、「作業内容」を入力させるための4つ
コンボボックスは作業者名を選べるように1つ
コマンドボタンは「開始時間」、「終了時間」、「登録」の3つ

を使用しています。完成版を真似てもらっても、独自のデザインにしてもらっても大丈夫ですので、いろいろ作成してみてください。

各オブジェクトの設定をしよう

各オブジェクトは下記の画像の「プロパティ」という部分でいろいろな設定が可能です。
今回は必要な部分だけ抜粋して説明していきます。

ラベルのプロパティ

(オブジェクト名)

ここはラベルを指定するための名前を設定します。
ラベルの文字を条件に応じて設定を変えたりする場合はこの部分をわかりやすい名前にしておくと後々便利です。

Caption

ここは表示したい文字を設定できます。
レイアウト上でも変更できますので、お好みで使用してください。
途中でラベルの文字を変更したい場合は【(オブジェクト名).Caption】とすることで変更が可能です。

Font

この項目をダブルクリックするとフォント、フォントサイズ、装飾等を設定できます。

テキストボックス

(オブジェクト名)

ここはテキストボックスを指定するための名前を設定します。
テキストの文字を取得したり、変更したりするのに必要です。わかりやすいオブジェクト名に設定しましょう。
今回は下記の設定にしています。
・年月日 は【t_time】(頭文字のt_はテキストボックスを表しています)
・開始時間は【t_start】
・終了時間は【t_finish】
・作業内容は【work】

TextまたはValue

ここはあらかじめ表示したい文字を設定できます。未入力であれば未設定で大丈夫です。
途中でテキストボックスの中身を変更したい場合は【(オブジェクト名).TextまたはValue】とすることで変更が可能です。

Font

この項目をダブルクリックするとフォント、フォントサイズ、装飾等を設定できます。

コンボボックス

(オブジェクト名)

ここはコンボボックスを指定するための名前を設定します。
コンボボックスの文字を取得したり、リストを設定したりするのに必要です。
わかりやすいオブジェクト名に設定しましょう。
今回は一つしか使っていませんが下記の設定にしています。
・作業者名は【cb_name】(頭文字のcbはコンボボックスを表しています。)

TextまたはValue

ここは初期表示したい文字を設定できます。未入力であれば未設定で大丈夫です。
途中でテキストボックスの中身を変更したい場合は【(オブジェクト名).TextまたはValue】とすることで変更が可能です。

Font

この項目をダブルクリックするとフォント、フォントサイズ、装飾等を設定できます。

コマンドボタン

(オブジェクト名)

ここはコマンドボタンを指定するための名前を設定します。
コマンドボタンのイベントを作成するのに必要です。
わかりやすいオブジェクト名に設定しましょう。といいたいところですが、ここはボタンが多くなりすぎなければ初期設定でも大丈夫だと思います。
今回は初期設定のまま使用します。

Caption

ここは初期表示したい文字を設定できます。
途中でテキストボックスの中身を変更したい場合は【(オブジェクト名).Caption】とすることで変更が可能です。

Font

この項目をダブルクリックするとフォント、フォントサイズ、装飾等を設定できます。

以上でUserformのレイアウトは終了です。
作成したUserFormのを選択し、【F5】を押してみてください。
どのボタンを押しても処理されないですが、UserFormが表示されると思います。
次の記事はイベントプログラムを書いていきます。
次回をお楽しみに。

 

 

コメント

タイトルとURLをコピーしました