HOME > 即効テクニック > Excel VBA > ユーザーフォーム関連のテクニック > ユーザーフォーム入門 - 住所入力フォームを作成する(2) 〜 コントロールの配置

ユーザーフォーム入門 - 住所入力フォームを作成する(2) 〜 コントロールの配置|Excel VBA

ユーザーフォーム関連のテクニック

ユーザーフォーム入門 - 住所入力フォームを作成する(2) 〜 コントロールの配置

(Excel 2000/2002/2003/2007/2010)

ユーザーフォーム入門 - 住所入力フォームを作成する(1) 〜 はじめに」の手順でユーザーフォームを作成した後のコントロール(ラベル、テキストボックス、ボタン)の作成について解説します。

■コントロールの配置

ここでは得意先情報や名刺データの入力を想定し、以下のような項目が入力できるようにします。
また、3つのボタンを配置します。

【住所入力項目】

1.会社名、  2.会社名よみ、  3.郵便番号、    4.住所1、   5.住所2
6.TEL、     7.FAX、         8.E-mail、      9.担当者

【コマンドボタン】

1.登録、    2.終了、    3.読み

まず、コントロールを配置します。次の手順で操作してください。

  1. 初期状態のユーザーフォームの右下端にマウスカーソルをおき、カーソルが両端矢印に変わったら右下へドラッグして、フォームを広げる
  2. ツールボックスの中の [A] のアイコンの上にマウスをあわせると [ラベル] というポップヒントが表示されるので、このアイコンをダブルクリックする
    ※ツールボックスが表示されていない場合は[表示]メニュー→[ツールボックス]で表示する
  3. マウスをユーザーフォーム上に持っていくと [+] 印に [A] がついた状態になるので、配置するラベルの始点でクリックし、そのままドラッグする
  4. 同様に、他の入力項目と同数のラベルを配置し、縦一列に並べる
    ※最初に作ったラベルをコピーして貼り付けてもよい
  5. 次にテキストボックスを配置する。ツールボックスから [ab|] のアイコンをダブルクリックし、ラベルの右側に同数を貼り付ける
  6. 最後に、ツールボックスからコマンドボタンのアイコンを選択し、3つのボタンを貼り付ける

■コントロールのプロパティ設定

フォントやコントロールのサイズなどの書式と初期値の設定を行います。
コントロールのプロパティもプロパティウィンドウで設定します。

<フォントサイズの設定>
コントロールを1つずつ設定していくのは大変なので、対象のコントロールをすべて選択して、プロパティウィンドウで一括変更します。
次の操作ですべてのコントロールのフォントサイズを設定します。

  1. フォーム上で右クリックし、ショートカットメニューから[すべて選択]を選ぶ
  2. プロパティウィンドウの[Font]をクリックすると右側に[...]ボタンが現れるので、このボタンをクリックし、[フォント]ダイアログを表示する
  3. [フォント]ダイアログでフォントやサイズを指定する。
    ここではMSゴシック、フォントサイズを14とする
  4. 設定後、フォーム上をクリックして選択を解除する

<ラベルとテキストボックスの書式設定>
次の操作でラベルとテキストボックスの書式を設定します。

  1. [Ctrl]キーを押しながらラベルを順に選択する
  2. プロパティウィンドウで以下のプロパティを設定する
    Height : 18 
    Left : 18    
    Width : 80
    SpecialEffect : 3-fmSpecialEffectEtched
    TextAlign : 2-fmTextAlignCenter
  3. [書式]メニュー→[上下の間隔]→[間隔を均等にする]を選択し、位置を調節する
  4. 同様に、テキストボックスをすべて選択してプロパティを設定し、位置を調整する
    ※会社名、会社名よみ、住所1、住所2は必要に応じてWidthプロパティを変更する
    Height : 18
    Left : 120    
    Width : 150
    Font : サイズ 12

<キャプションの設定>
次の操作でコントロールのキャプション(表示される文字)を設定します。

  1. ラベルを1回クリックし、選択状態になってから再度クリックする。編集可能になったら、初期状態の文字を削除し、入力項目に対応する文字を1つずつ設定する
    ※ラベルを選択し、プロパティウィンドウでCaptionプロパティを設定してもよい
  2. 同様に、コマンドボタンのキャプションを設定する

ここまでで、入力フォームの外見ができました。

<入力文字数の設定>
続いて、郵便番号入力テキストボックスの最大文字数を制限します。

  1. プロパティウィンドウでMaxLengthプロパティを8に設定する
    ※「-」も含めた7桁郵便番号の桁数

<オブジェクト名の設定>
最後に、ラベル以外のコントロールの名称(オブジェクト名)を変更します。

  1. 1つずつコントロールを選択し、プロパティウィンドウから以下のようにオブジェクト名を変更する

【テキストボックス】

1.txtKaisha、  2.txtYomi、  3.txtYubin、  4.txtJusho1、  5.txtJusho2、
6.txtTEL、     7.txtFAX、   8.txtEmail、  9.txtTantou

【コマンドボタン】

1.cmdTouroku、   2.cmdShuuryo、   3.cmdYomi

<コントロールの配置の微調整>
ラベルと対応するテキストボックスの位置関係がずれている場合、ラベル1つとそれに対応するテキストボックスを選択し、[書式]メニュー→[整列]→[中央(M)]で一組ずつ位置を調整します。

以上、すべての設定が終了したら[F5]キー、または[実行]メニュー→[Sub/ユーザーフォームの実行]を選択してユーザーフォームの起動状態を確認してください。
終了するには右上端の[×]ボタンをクリックします。

次回は、各項目の入力順序やIMEの設定をしていきましょう。