【ユーザーフォーム】ラベルを高さ方向に中央揃えにする方法

ラベルの高さが合わない
ラベルの高さが合わない

ユーザーフォームを使う時、ラベルの高さが合わなくて困った経験ありませんか?

なぜかユーザーフォームのラベルには高さを中央揃えにする機能がありません。

そのため、上の図のようにテキストボックスと合わせるために、高さを微調整している人も多いのではないでしょうか?

今回はそんな大変な作業しないで済む、お手軽なサンプルコードを紹介します。

ラベルの高さを合わせるサンプルコード

Private Sub UserForm_Initialize()
    'ラベル位置を4ポイント下げる
    'UserForm_Initialize:ユーザーフォームを表示する前に自動で実行される

    Dim ctrl As Control
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "Label" Then
            ctrl.Top = ctrl.Top + 4
        End If
    Next
End Sub

解決方法は至って簡単です。

ユーザーフォームを実行する時に、ラベルの高さをプログラムでずらしてあげるのです。

上のコードをユーザーフォームのコードに入れれば、自動でラベル高さを調整してくれます。

        If TypeName(ctrl) = "Label" Then
            ctrl.Top = ctrl.Top + 4
        End If

このコードの肝はこの3行で、ラベルだけ高さを4ポイント下げています。

デフォルトのフォントであれば、4ポイント下げれればちょうど高さを中央にすることができます。

手作業で調整するのは大変なので、このようにプログラムで位置調整するのがオススメです。

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2022/05/20 10:38:41時点 Amazon調べ-詳細)

自分で作るのが難しいと感じたら、プロに作ってもらう手もあります。
こちらの記事でおすすめのプログラマーを紹介しています

《IT未経験-特化型サービス》



他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい