ホーム > ユーザーフォーム > Lesson1: フォームの作成

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

オブジェクト...ユーザーフォームのオブジェクト名を指定します。
ここで表示したいユーザーフォームのオブジェクト名は「frmEntry」なので
Sub cmdFormOpen()
  
  'ユーザーフォームを表示する
  
  frmEntry.Show
  
End Sub

ユーザーフォームを表示するマクロはこれでできあがり。
ボタンの表示変更
作ったボタンを右クリックして、テキストの編集を選択。
「ボタン1」から「入力フォーム」に変更します。
ボタン
そして、できあがったボタン[入力フォーム]をクリックすると
ユーザーフォーム「成績表の入力」が表示されます。
ユーザーフォーム表示
これでVBEからではなく、シートから実行できるようになりました。
2004年8月