ユーザーフォーム

ユーザーフォームの作成と表示

 ユーザーフォームとは、Excel上にフォームウィンドウを作成して、ボタンやテキストボックスなどのコントロールを自由に配置して利用できるようにする機能です。 

 直接セルに数字や文字のデータを入力するより、このフォームから種々のコントロールを利用して入力する方が便利な場合があります。

ユーザーフォームの作成

 ユーザーフォームを作成するには、Visual Basic Editor (VBE) を開き、上部メニューバーの「挿入(I)」をクリックし、「ユーザーフォーム(U)」をクリックします。

ユーザーフォームが表れます。

大きさは □部分をマウスの左ボタンを押さえながら、適度に調整できます。

このユーザーフォームの名前(最初は UserForm1)や文字のスタイルやその他外観を変更するには「プロパティウィンドウ」を使用します。

もしこの「プロパティウィンドウ」が表示されていない場合は、上のメニューバー「表示(V)」から「プロパティウィンドウ(W)」をクリックしてください。

ユーザーフォームを作成すると、「ツールボックス」が表示されます。

適当な位置に自由に移動できます。

もしこの「ツールボックス」が無い場合は、上部ツールバーの「表示V)」から「ツールボックス(X)」をクリックすれば表示できます。

現在は「UserForm1 」となっている名前を「My Test Form」という名前に変更してみます。

プロパティウィンドウの(オブジェクト名)を「MyTestForm」に書き換えます。

その上の「フォーム」の名前が変更になっているのを確認できます。

しかし、フォーム画面の左上のタイトルは変更になっていません。

 そこでプロパティウィンドウの「Caption」の UserForm1 を「MyTestForm」に書き換えます。

書き換えてエンターを押した段階でフォーム画面のフォーム名も書き変わります。

 他にも背景の色を変えたり、フォントの種類を変えたり、様々なプロパティの変更はここで行うことができます。

ユーザーフォームの表示

標準モジュールに次のプロシージャを作ります。

Sub form表示
   MyTestForm.Show
End Sub

この「MyTestForm」が先ほど新たに変更したユーザーフォームの名前です。

「.Show」がフォームを表示する「Showメソッド」です。

実行すると上のように表示されます。

コントロール類を何も配置していませんので、このような状態です。

とりあえず右上の「X」で閉じます。

ユーザーフォームのコントロール  ユーザーフォームには、文字を入力するテキストボックス、文字を表示するラベル、マクロを実行するボタンなど、コントロールと呼ばれるいろい...