Excel でテキストボックスを入力内容に応じて自動的にサイズ調整するには、どうすればよいですか?
Excel ワークシートにテキストボックスを挿入すると、デフォルトではそのサイズが固定されます。つまり、テキストを追加または削除しても、テキストボックスは内容に応じて自動的にサイズ調整されません。そのため、テキストの一部がボックス内に隠れてしまったり、逆にテキスト量が少ない場合には余分な空白ができたりすることがあります。動的なコンテンツや頻繁に更新されるスプレッドシートを扱うユーザーにとって、テキストボックスを都度手動で調整するのは時間も手間もかかり、非常に不便です。 しかし安心してください。Excel には、テキストボックス内のテキスト量に応じて自動的にサイズを調整する機能が備わっており、これを使えば作業効率とプレゼンテーション性が格段に向上します。
以下に、Excel でテキストボックスのサイズを内容に合わせて自動調整する実用的な方法をご紹介します。これらの方法は、定期的に情報が更新されるレポートやダッシュボード、フォーム、共同作業用スプレッドシートなど、さまざまなシーンに最適です。
「テキストに合わせて図形のサイズを調整」機能でテキストボックスを内容に合わせて自動リサイズする
個別のテキストボックスを入力や削除に応じて自動的にサイズ調整したい場合は、そのテキストボックスのプロパティを変更し、動的なリサイズを有効にしてください。この方法は、ワークシート上でラベルや説明文、メモなど、1 つまたは少数のテキストボックスだけを内容に合わせて調整したい場合に最適です。
1。テキストボックスを挿入したら、カーソルをその枠線に合わせて右クリックします。サイズとプロパティをコンテキストメニューから選択してください。下記のスクリーンショットをご確認ください:

2。この操作により、ワークシートの右側に図形の書式設定ウィンドウが開きます。「サイズとプロパティ
」タブの「テキストボックス」セクションにある「テキストに合わせて図形のサイズを調整する」チェックボックスをオンにしてください。このオプションを有効にした後は、「図形の書式設定」ウィンドウを閉じてもかまいません。下記のスクリーンショットをご確認ください:

これにより、今後このボックス内でテキストを入力または削除するたびに、テキストボックスの高さおよび/または幅が自動的に調整され、内容にぴったりとフィットします。レイアウトが整い、テキストが隠れたり表示範囲外にはみ出したりする心配がありません。
注記:この機能は各テキストボックスごとに個別に設定する必要があります。Excel には複数のテキストボックスを一度に一括設定する組み込み機能は用意されていません。ワークシート内に多数のテキストボックスがあり、すべてにこのプロパティを適用したい場合は、上記の手順を一つひとつ繰り返す必要があります。
ヒントと注意事項:
- ワークシートが保護されている場合、このプロパティは保護が解除されるまで調整できない可能性があります。
- ボックスのサイズを変更しても、フォントサイズは変わりません。これは、指定されたテキストに合わせてボックスの寸法のみを調整するための機能です。
- テキストボックスに大量のテキストが含まれていると、ワークシートの表示範囲を超えて拡大することがありますので、変更後はレイアウトを必ずご確認ください。
- 設定を調整した後は、変更内容が失われないよう、必ず作業内容を保存してください。
トラブルシューティング:「図形の書式設定」ウィンドウが表示されない場合は、テキストエリア内ではなく、テキストボックスの枠線を右クリックしていることをご確認ください。一部の古いバージョンのExcel では、このオプションが「テキストボックスの書式設定」と表示される場合があります。
適用可能なシナリオ:この方法は、少数のテキストボックスにリサイズ機能を適用したい場合や、各ボックスの動作をきめ細かく制御したい場合に最適です。最大のメリットはそのシンプルさですが、複数のアイテムに対しては同じ手順を繰り返す必要があるという制限があります。
VBA コードで全てのテキストボックスを内容に合わせて自動リサイズする
ワークシートに多数のテキストボックスが含まれていると、一つひとつ手動で設定するのはすぐに面倒になってしまいます。そんなときは、VBA マクロを使えば、すべてのテキストボックスを一括で処理し、その内容に応じて自動的にサイズを調整できます。この方法は、共有ドキュメントやアンケートフォーム、テンプレートなど、多数のテキストボックスで統一された動作を実現したいあらゆるシーンで特に役立ちます。
1。キーボードでAlt+F11キーを押すと、VBA コードの入力や管理が可能なMicrosoft Visual Basic for Applications(VBA)エディターが開きます。
2。VBA エディターのウィンドウで、メニューバーの挿入をクリックし、続いて標準モジュールを選択してください。これにより、Excel ワークブックに新しいモジュールが追加されます。以下の VBA コードをモジュールウィンドウにコピー&ペーストしてください。
VBA コード:ワークシート内のすべてのテキストボックスを内容に合わせて自動リサイズする
Sub TextBoxResizeTB()
Dim xShape As Shape
Dim xSht As Worksheet
On Error Resume Next
For Each xSht In ActiveWorkbook.Worksheets
For Each xShape In xSht.Shapes
If xShape.Type = 17 Then
xShape.TextFrame2.AutoSize = msoAutoSizeShapeToFitText
xShape.TextFrame2.WordWrap = True
End If
Next
Next
End Sub 3。コードを実行するには、モジュールウィンドウがアクティブな状態でF5キーを押してください。すると、現在のワークシート内のすべてのテキストボックスが内容に応じて即座に自動リサイズされ、下記のスクリーンショットのように表示されます。

マクロ実行後、テキストを追加または削除するたびに、テキストボックスは引き続き自動でリサイズされます。この方法により、保存時間を短縮でき、インタラクティブなテンプレートやフォームを設計する際に、すべてのテキストボックスで一貫性を保てます。
VBA 使用時のヒント:
- マクロを実行する前には、必ずワークブックを保存してください。VBA に不慣れな場合は、バックアップを作成することをおすすめします。
- 一部のExcel 環境ではマクロが無効になっている場合があります。その際は、Excel のトラストセンター設定でマクロを有効にしてください。
- 再度マクロを実行すると、新たに追加したテキストボックスにリサイズプロパティが再適用されます。
- VBA メソッドはアクティブなワークシートにのみ適用されます。他のワークシートにテキストボックスがある場合は、そのシートに切り替えて同じ手順を繰り返してください。
- エラーが発生した場合は、ワークシートにテキストボックスのシェイプ(VBA では通常「Shape」オブジェクトと呼ばれます)が含まれており、かつセキュリティ設定でマクロの実行が許可されていることをご確認ください。
メリットとデメリット:VBA を活用すれば、大規模な更新作業を効率化し、繰り返しの手動作業を大幅に削減できます。ただし、Excel の VBA エディターに関する基本的な知識が必要なうえ、アクセスが厳しく制限された職場環境では利用できない場合もあります。
トラブルシューティングとエラーに関する注意:
- 「マクロは無効です」と表示された場合は、Excel の設定でマクロが有効になっているかご確認ください。
- VBA コードの処理は、テキストボックスとして明示的に指定されていない画像、チャート、その他のオブジェクトには影響を与えません。
- マクロを実行した後は、「元に戻す」操作はご利用いただけません。
関連記事:
- Excel でコメントボックスをその内容に応じて自動的にサイズ調整するには、どうすればよいですか?
- Excel の数式を使ってセル内のテキストを自動調整する
- 動的リサイズのためにオブジェクト(セルテキスト)をテキストボックスにリンクする
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得