EXCEL VBA ユーザーフォームの作成方法・操作方法(基礎・入門)UserForm
EXCEL VBA ユーザーフォームの作成方法・操作方法(基礎・入門)UserForm
今回説明するのは、ユーザーフォームの基礎的な作成方法を説明いたします。ユーザーフォームを利用することで、市販されているアプリケーションソフトのようなインターフェースを実現する事が出来ます。EXCELユーザーフォームの利用メリットとして、データを登録する際に、誤って別の場所に登録したり・別のデータを削除したり・必須データの登録漏れを防ぐ事もできます。特に、EXCELに慣れていない方には、ユーザーフォームを利用してデータ登録する方が良いと思います。今回は、ユーザーフォームを作成する基礎的な方法を順番に説明いたします。
EXCEL VBA ユーザーフォームの作成方法(作成準備)
● ユーザーフォームを作成(準備)するには、下記の通りに設定を行います。
① VBE(Visual Basic Editor)を起動【Alt+F11】して、メニューから「挿入」を選択します。
② メニュー【挿入】⇒ 「ユーザーフォーム」を選択クリックします。
③ ユーザーフォーム(UserForm)が作成されました。また、ユーザーフォームが作成されたと同時に、ユーザーフォームで利用する【ツールボックス】も表示されました。
④ ユーザーフォーム(UserForm)が作成され、画面の右側にあるプロジェクトエクスプローラに、UserForm1が挿入作成されました。
⑤ 一度、ここで名前を付けて保存を行います。ファイル名を入力して、ファイルの種類「EXCELマクロ有効ブック」で保存します。
⑥ 次に、ユーザーフォームをコントロールするための「標準モジュール」を追加します。
⑧ 作成したユーザーフォームを表示するプログラム(コード)を登録します。
【ユーザーフォームを表示するサンプルプログラム(コード)】
1 2 3 4 5 6 7 |
' Sub Userform1の表示() UserForm1.Show 'ユーザーフォーム1の表示 End Sub ' |
EXCEL VBA ユーザーフォームのタイトルバー(表示名)の登録されている文字列を変更する。
ここでは、ユーザーフォームのタイトルバーの表示名を変更いたします。通常ユーザーフォームから作成すると自動的にタイトルバーの表示名として「UserForm1」で登録されています。このタイトルバーの表示名を変更する方法の説明をいたします。
● タイトルバー(表示名)の変更方法は、下記の通りに設定を行います。
① プロパティウィンドウの【Caption】プロパティを変更します。「UserForm1」⇒「フォームタイトル」 ※手動で変更する場合
② プログラムで変更する場合
1 2 3 4 5 6 7 8 9 10 |
' ' Sub Userform3() 'フォームタイトルの変更 UserForm1.Caption = "フォームタイトル" 'フォームタイトルを変更します。 UserForm1.Show 'ユーザーフォームの表示 End Sub ' |
EXCEL VBA ユーザーフォームを閉じる。(フォームに閉じるコマンドボタンを作成)
ここでは、表示したフォームに閉じるコマンドボタンの設置方法を説明いたします。
● ユーザーフォームにコマンドボタン設置方法は、下記の通りに設定を行います。
① コマンドボタンを設置するフォーム「UserForm1」を選択します。
② ツールボックスから「コマンドボタン」をクリックします。
③ フォームにコマンドボタンを配置位置を指定して、コマンドボタンの大きさを調整します。
④ コマンドボタンが設置されました。コマンドボタンをクリックします。
⑤ コマンドボタンをクリックしますとオブジェクト名として「CommandButton1」で登録されています。
※オブジェクト名は、変更可能です。
⑥ プロジェクトエクスプローラの「UserForm1」にマウスポインターを合わせて「右クリック」します。
⑦「コード表示」を選択します。
⑧ オブジェクトボックスに、先ほど作成した「CommandButton1」を選択します。プロシージャーボックスに「クリック」を選択します。
※自動的に「Private Sub CommandButtom1_Click」が作成されるので、「Unload Me」を登録します。
※「Unload Me」は、表示されているユーザーフォームを閉じるコードです。
EXCEL VBA ユーザーフォームのラベル・テキストボックス・コマンドボタンの書式設定(装飾)・コントロールの外観設定
ここでは、ユーザーフォームに設置したラベル・テキストボックス・コマンドボタンに対して、フォント・文字の大きさ・太字・文字色・背景色の設定方法を説明いたします。今回は、ラベルに対してのみ説明になりますが、テキストボックス・コマンドボタンも同様にフォント等の設定変更が可能です。
● 設置したラベルに対してフォント・文字の大きさ・文字色の変更方法は、下記の通りに行います。
① ツールボックスから「A」ラベルを選択(クリック)します。
② ツールボックスから選択したラベルをフォーム「UserForm1」に範囲指定して挿入します。
③ 今回は、フォントの大きさ・スタイル・サイズの変更方法を説明しますので、「Font」ー「・・・」ボタンをクリックします。
④ フォントの設定画面が表示されました。ここで、フォント・スタイル・フォントサイズを指定する事が出来ます。
⑤ フォントのスタイルを設定します。(標準・斜体・太字・太字斜体から選択します。)
⑥ フォントサイズを設定します。
⑦ 設定したフォントを適用します【OK】ボタンをクリックで適用します。
⑧ 上記で指定したフォント名・スタイル・サイズが適用されたので、ラベルのフォントが変更されました。
※プロパティウィンドウで設定変更できる一部の設定内容は下記の通りになります。
項目(プロパティ) | 内容(説明) |
---|---|
Font | フォント名・サイズ・スタイル。文字飾り |
ForeColor | 文字列の色 |
BackStyle | 背景の設定(透明・不透明) |
BackColor | 背景色の設定 ※BackStyleで不透明が設定されている時に表示されます。 |
BorderStyle | 境界線の設定(非表示・表示) |
BorderColor | 境界線の色を設定 ※BackStyleで非表示では、表示されない。 |
SpecialEffect | 影や立体表示などの効果を設定します。 |
TextAlign | 文字列の配置設定(左揃え・中央揃え・右揃え) |
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。