ExcelVBA フォームに配置したラベルの文字を上下中央に配置する方法

 

ExcelVBA ユーザーフォームに配置したラベルの文字を上下中央に配置することで、見た目を整え、フォームのデザインを美しくします。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
命令は分かる。でも作れない。その差は「作り方」です。
実務では、ここを知った瞬間にマクロが組み立てられるようになります。

実務マクロ設計ミニガイド(無料)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

Excel VBA ラベルの文字を上下中央に配置 利用シーン

以下のようなシーンで利用で表示します。

1.ユーザーフォームを使った入力フォームやガイド画面のラベルで、文字の見た目を調整したい。

2.ユーザーにとって読みやすいデザインを作成したい。

Excel VBA ラベルの文字を上下中央に配置|使い方とポイント

使い方

ラベルの TextAlign プロパティ(左右位置)に加え、 AutoSize や Height プロパティを調整することで、文字を上下中央に見えるようにします。

ポイント

1.ラベルの高さが文字よりも大きい場合、上下位置の調整が必要です。

2. AutoSize プロパティを有効にすると、ラベルの高さや幅が文字サイズに応じて変化するため、中央揃えを維持しにくくなる場合があります。

 

Excel VBA  ラベルの文字を上下中央に配置のサンプルコード

フォームモジュール(ラベル配置)

ユーザーフォームに以下を配置

ユーザーフォームにラベル(例: Label1 )を配置します。
ラベルの AutoSize を False に設定します。

Option Explicit

Private Sub UserForm_Initialize()
    ' ラベルのプロパティ設定
    With UserForm1.Label1
        .Caption = "上下中央"    ' ラベルの文字
        .TextAlign = fmTextAlignCenter ' 左右中央揃え
        .Width = 100            ' ラベル幅を設定
        .Height = 30            ' ラベル高さを設定

        ' 上下中央に見えるように位置調整
        .Top = (.Parent.Height - .Height) / 2
    End With
End Sub

 

標準モジュール(ユーザーフォームを表示)

Option Explicit

Sub ShowUserForm()
    ' ユーザーフォームを表示
    UserForm1.Show
End Sub

ユーザーフォーム内のラベルを上下中央に配置し、見やすいデザインを実現。データ入力フォームや案内画面の見た目を整えられます。

フォームモジュールのコードをコピペで動作させることで、簡単に設定可能です。これにより、ユーザーにとって見やすく、美しいフォームデザインが実現します。

 

自分の実力を客観的にチェックしたい。そんな方のために、自分に合った学習スタート地点がわかる無料の選択問題集をご用意しました。(VBAエキスパートベーシック資格試験から抜粋した問題です)

無料138問でいまの実力をチェック

80%ならスタンダード合格レベル、50〜79%はベーシック理解途中、49%以下は基礎理解不足※ご安心ください。この問題をされた人の情報は一切残りません。実力のチェックができる問題集で、クリックすぐにスタートではありません。解説内容の下に問題があります)