ユーザーフォームのテキストボックスの横幅を設定するVBAコードをご紹介します。
- テキストボックスの幅を調整したい
- 長い文字が見切れてしまう
- 見た目をきれいに整えたい
このような場合は、VBAでテキストボックスの横幅(Width)を設定することで解決できます。
フォームの見た目や使いやすさを整えるために、非常に重要なポイントです。
この記事では、テキストボックスの横幅を変更する方法を初心者向けに分かりやすく解説します。
この記事でできること
- テキストボックスの横幅を変更できる
- フォーム表示時に自動調整できる
- 複数テキストボックスの幅を統一できる
- 実務で使えるコードが分かる
基本:テキストボックスの横幅を設定する方法
まずは一番シンプルなコードです。
Option Explicit
Sub SetTextBoxWidth()
UserForm1.TextBox1.Width = 200
UserForm1.Show
End Sub
これでテキストボックスの横幅が「200」に設定されます。
Widthとは?
Width は、コントロールの横幅を指定するプロパティです。
- 単位は「ポイント(pt)」
- 数値が大きいほど横幅が広くなる
フォーム表示時に横幅を設定する
実務では、フォーム表示時に自動で調整することが多いです。
Private Sub UserForm_Initialize()
Me.TextBox1.Width = 200
End Sub
この方法が最も一般的です。
複数テキストボックスの幅を統一する
複数項目をきれいに揃える場合はこちらです。
Private Sub UserForm_Initialize()
Me.TextBox1.Width = 200
Me.TextBox2.Width = 200
Me.TextBox3.Width = 200
End Sub
ループで一括設定する方法
テキストボックスが多い場合は、ループでまとめて設定できます。
Private Sub UserForm_Initialize()
Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox" Then
ctrl.Width = 200
End If
Next ctrl
End Sub
すべてのテキストボックスに同じ幅を適用できます。
フォームのサイズに合わせて自動調整する
フォーム幅に合わせてテキストボックスを広げることも可能です。
Private Sub UserForm_Initialize()
Me.TextBox1.Width = Me.Width - 40
End Sub
これでフォームサイズに応じて横幅が変わります。
高さ(Height)も一緒に設定する
縦サイズも調整したい場合はこちらです。
Me.TextBox1.Height = 25
実務での活用例
- 入力フォームのレイアウト調整
- 長文入力欄の拡張
- 複数項目の見た目統一
- レスポンシブ的なUI調整
見た目を整えるだけで、操作性が大きく向上します。
よくあるエラーと対処法
① コントロール名が違う
TextBox1 などの名前が一致しているか確認してください。
② 変更が反映されない
Initializeイベントに書いているか確認してください。
③ フォームが表示されない
UserForm1.Show を実行しているか確認してください。
④ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- 横幅は
TextBox.Widthで設定できる - Initializeで自動調整するのが基本
- ループで一括設定も可能
- フォームの使いやすさに直結する
テキストボックスの横幅を適切に設定することで、ユーザーフォームの完成度が大きく向上します。
見やすく使いやすいフォーム作成のために、ぜひ活用してみてください。

コメント