コントロールの位置を設定する(Top,Leftプロパティ)
ユーザーフォームに設置したコントロールの位置を設定するには Top プロパティと Left プロパティを使用します。画面の上端からコントロールの上端までの距離を Top プロパティ、画面の左端からコントロールの左端までの距離を Left プロパティで設定します。ここでは Excel のユーザーフォームで Top プロパティおよび Left プロパティを使ってコントロールの位置を設定する方法について解説します。
(Last modified: )
コントロールの位置を設定する
コントロールの位置を設定するには Top
プロパティと Left
プロパティを使用します。例えば次の位置に設置したラベルの Top
プロパティおよび Left
プロパティの値はそれぞれ 12 と 18 に設定されています。この値はラベルの左上隅の位置を表しています。
位置を設定するには Top
プロパティまたは Left
プロパティをクリックし、値を直接編集してください。単位はポイントです。
例えば Left
プロパティの値を 40 に変更してみます。すると画面上部からラベル上部までの距離が変更されました。
今度は Top
プロパティの値を 80 に変更してみます。すると画面左端からラベルの左端までの距離が変更されました。
このように Top
プロパティおよび Left
プロパティの値を変更することで、コントロールの位置を設定することができます。
VBAのプログラムの中でTopプロパティを設定する
プロパティウィンドウを使って Top
プロパティや Left
プロパティの値を変更する代わりに、 VBA のコードを記述して Top
プロパティや Left
プロパティの値を変更することもできます。
プログラムの中で Top
プロパティを設定する場合は次の書式を使用します。
オブジェクト.Top [= Single ]
対象のオブジェクトの Top
プロパティに対して、画面の上端からコントールの上端までの距離を単精度浮動小数点型の数値で代入します。単位はポイントです。
プログラムの中で Left
プロパティを設定する場合は次の書式を使用します。
オブジェクト.Left [= Single ]
対象のオブジェクトの Left
プロパティに対して、画面の左端からコントールの左端までの距離を単精度浮動小数点型の数値で代入します。単位はポイントです。
簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize
イベントに対するイベントプロシージャを作成し、その中で Top
プロパティおよび Left
プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。
※ Initialize
イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。
ユーザーフォームのコントロールが何もないところをダブルクリックしてください。
ユーザーフォームの規定のイベントである Click
イベントに対するイベントプロシージャが表示されます。
今回はユーザーフォームの Initialize
イベントに対するイベントプロシージャを使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。
Private Sub UserForm_Initialize() Label1.Top = 20 Label1.Left = 25 With CommandButton1 .Top = 60 .Left = 25 End With End Sub
これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。
ユーザーフォームが表示されました。追加されているラベルとコマンドボタンの画面上端からの距離と画面左端からの距離がそれぞれ変更されていることが確認できます。
このように VBA のプログラムの中で Top
プロパティおよび Left
プロパティの値を変更することができました。
-- --
Excel のユーザーフォームで Top プロパティおよび Left プロパティを使ってコントロールの位置を設定する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。