コントロールとキャプションの位置関係を設定する(Alignmentプロパティ)
ユーザーフォームに設置したオプションボタンやチェックボックスでコントロールとキャプションの位置関係を設定するには Alignment プロパティを使用します。ここでは Excel のユーザーフォームで Alignment プロパティを使ってコントロールとキャプションの位置関係を設定する方法について解説します。
(Last modified: )
コントロールとキャプションの位置関係を設定する
ユーザーフォームに設置したコントロールとキャプションの位置関係を設定するには Alignment プロパティを使用します。デフォルトでは Alignment の値は「1 - fmAlignmentRight」です。
設定可能な値には次の種類があります。
| 定数 | 値 | 説明 |
|---|---|---|
| fmAlignmentLeft | 0 | キャプションをコントロールの左側に配置する |
| fmAlignmentRight | 1 | キャプションをコントロールの右側に配置 |
コントロールに対するコントロールとキャプションの位置関係を変更するには Alignment プロパティの項目をクリックしてください。そして表示されたドロップダウンメニューをクリックし設定する項目をクリックしてください。
例えば fmAlignmentLeft を設定してキャプションをコントロールの左側に配置してみます。
チェックボックスのキャプションがコントロールの左側に表示されるように変更されました。
このように Alignment プロパティの値を変更することで、コントロールとキャプションの位置関係を設定することができます。
VBAのプログラムの中でAlignmentプロパティを設定する
プロパティウィンドウを使って Alignment プロパティの値を変更する代わりに、 VBA のコードを記述して Alignment プロパティの値を変更することもできます。
プログラムの中で Alignment プロパティを設定する場合は次の書式を使用します。
オブジェクト.Alignment [= fmAlignment ]
対象のオブジェクトの Alignment プロパティに対してコントロールとキャプションの位置関係を表す値を代入してください。設定できる値はこのページの最初の方を参照されてください。
簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize イベントに対するイベントプロシージャを作成し、その中で Alignment プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。
※ Initialize イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。
ユーザーフォームのコントロールが何もないところをダブルクリックしてください。
ユーザーフォームの規定のイベントである Click イベントに対するイベントプロシージャが表示されます。
今回はユーザーフォームの Initialize イベントに対するイベントプロシージャ使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。
Private Sub UserForm_Initialize()
CheckBox1.Alignment = fmAlignmentRight
OptionButton1.Alignment = fmAlignmentLeft
End Sub
これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。
ユーザーフォームが表示されました。チェックボックスについてはコントロールの右側にキャプションが表示され、オプションボタンについてはコントロールの左側にキャプションが表示されました。
このように VBA のプログラムの中で Alignment プロパティの値を変更することができました。
-- --
Excel のユーザーフォームで Alignment プロパティを使ってコントロールとキャプションの位置関係を設定する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。