【ユーザーフォーム】ラベルを高さ方向に中央揃えにする方法
ユーザーフォームを使う時、ラベルの高さが合わなくて困った経験ありませんか?
なぜかユーザーフォームのラベルには高さを中央揃えにする機能がありません。
そのため、上の図のようにテキストボックスと合わせるために、高さを微調整している人も多いのではないでしょうか?
今回はそんな大変な作業しないで済む、お手軽なサンプルコードを紹介します。
ラベルの高さを合わせるサンプルコード
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ポイント下げれればちょうど高さを中央にすることができます。
手作業で調整するのは大変なので、このようにプログラムで位置調整するのがオススメです。