このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

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

2024年9月28日

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

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

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

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

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

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

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

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一択です。
この本を読み切れば間違いなくVBA上級者になれます。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい