フォームの作成
オリジナルのダイアログボックスつくるにはユーザーフォーム。
見た目もかっこいいし、プログラミングの幅が広がります。
ユーザーフォームを勉強するため「study_UserForm.xls」というファイルを作りました。
まず、VBEを起動。
VBEのメニューバーの[挿入]、[ユーザーフォーム]を選びます。
UserForm1が新たに表示されます。
フォーム(UserForm1)にテキストやボタンなどのコントロールを追加します。
もしツールボックスが表示されていなければ、
メニューバーの[表示]、[ツールボックス]で表示できます。
2004年8月
フォームの作成 その2
ユーザーフォームのタイトルバーに「UserForm1」と表示されています。
これではユーザーフォームの内容がわかりにくいので、
プロパティウィンドウ(左のウィンドウ)の「Caption」プロパティを変更します。
同じく「(オブジェクト名)」を変更します。
プロパティ |
設定 |
(オブジェクト名) |
frmEntry |
Caption |
成績表の入力 |
ユーザーフォームのタイトルと名前が変更されます。
2004年8月
フォームの作成 その3
実行してみます。(Sub/ユーザーフォームの実行をクリック)
作ったフォームが表示されます。
「成績表の入力」とあるだけのものが表示されました。
(他に何もしてないので、当然ですが。)
でもフォームをVBEから実行して表示するのは面倒...というか不便。
2004年8月
フォームの作成 その4
作ったフォームを実行するボタンをシートに作ります。
ツールバーの[表示][ツールバー][フォーム]にチェックを入れます。
ボタンを選び、シートにボタンを作ります。
すると「マクロの登録」という画面が表示されます。
マクロ名を「cmdFormOpen」にかえ、[新規作成]をクリック。
2004年8月
フォームの作成 その5
フォームを表示するマクロを作ります。
ユーザーフォームを表示するには
オブジェクト.Show
オブジェクト...ユーザーフォームのオブジェクト名を指定します。
ここで表示したいユーザーフォームのオブジェクト名は「frmEntry」なので
Sub cmdFormOpen()
'ユーザーフォームを表示する
frmEntry.Show
End Sub
ユーザーフォームを表示するマクロはこれでできあがり。
作ったボタンを右クリックして、テキストの編集を選択。
「ボタン1」から「入力フォーム」に変更します。
そして、できあがったボタン[入力フォーム]をクリックすると
ユーザーフォーム「成績表の入力」が表示されます。
これでVBEからではなく、シートから実行できるようになりました。
2004年8月