Excelテキストボックスの行間を調整する方法|広すぎる・狭い行間の設定と余白の完全ガイド

Excelのテキストボックスで文字を入力したとき、行間が広すぎて見栄えが悪いと感じたことはありませんか?
テキストボックスの行間は「段落」設定で細かく調整できます。しかし、この設定がどこにあるか分かりにくく、多くのユーザーが困っています。
本記事では、テキストボックスの行間を詰める・広げる方法、余白の調整、セル内の行間変更まで完全解説します。
- テキストボックスの行間を調整する3つの方法
- 行間の種類(1行、1.5行、2行、固定値、倍数)の違いと使い分け
- テキストボックスの上下左右の余白を調整する方法
- セル内の行間を変更する方法(テキストボックス不要)
- VBAで複数テキストボックスの行間を一括変更する方法
- 行間がずれる原因と対処法
Sub 行間一括調整()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim shp As Shape
For Each shp In ws.Shapes
If shp.HasTextFrame Then
shp.TextFrame2.TextRange.ParagraphFormat _
.SpaceAfter = 6
shp.TextFrame2.TextRange.ParagraphFormat _
.SpaceBefore = 6
End If
Next shp
MsgBox “行間の調整が完了しました”
End Sub
☝ SpaceAfter/SpaceBeforeプロパティで行間を数値で制御できます
テキストボックスの行間を調整する3つの方法
方法1: 右クリックメニューから「段落」を開く(最も簡単)
- テキストボックス内のテキストを選択(Ctrl+A で全選択)
- 選択した文字を右クリック
- 「段落」をクリック
- 「間隔」セクションの「行間」を変更
- OK
方法2: 「ホーム」タブから「段落」ダイアログを開く
- テキストボックス内のテキストを選択
- 「ホーム」タブ →「段落」グループの右下矢印をクリック
- 「行間」を変更
方法3: 「ホーム」タブの行間ボタンを使う
- テキストボックス内のテキストを選択
- 「ホーム」タブ →「段落」グループの「行と段落の間隔」ボタン(横線アイコン)
- プリセット(1.0, 1.15, 1.5, 2.0, 2.5, 3.0)から選択
行間の種類と設定値の使い分け
行間オプション一覧
| 行間の種類 | 説明 | 推奨用途 |
|---|---|---|
| 1行 | フォントサイズに応じた標準間隔 | 通常のテキスト |
| 1.5行 | 1行の1.5倍 | 読みやすさ重視 |
| 2行 | 1行の2倍 | 校正・レビュー用 |
| 最小値 | 指定ポイント以上の行間 | 最低行間を保証したい場合 |
| 固定値 | 指定ポイントの固定間隔 | 行間を正確に指定したい場合 |
| 倍数 | 任意の倍率 | 0.8倍等で行間を詰めたい場合 |
行間を狭くしたい場合の設定
行間を詰めるには「固定値」か「倍数」を使います。
固定値の場合:
- フォントサイズ11ptなら → 固定値13pt程度(フォントサイズ + 2pt)
- フォントサイズ14ptなら → 固定値16pt程度
倍数の場合:
- 「倍数」→ 0.8〜0.9を指定すると行間が狭くなる
- 1.0が標準、0.8でやや詰まり、0.5で最小限
固定値をフォントサイズ以下にすると文字が重なります。
段落前後の間隔を調整する
行間とは別に、段落前後の間隔も調整できます。
- テキストを選択 → 右クリック →「段落」
- 「間隔」セクションの「段落前」「段落後」を設定
- 0ptにすると段落間の余白がなくなる
テキストボックスの余白(内部マージン)を調整する方法
テキストボックスの上下左右の余白を変更する
- テキストボックスの枠線を右クリック(テキスト部分ではなく枠線)
- 「図形の書式設定」を選択
- 「テキストボックス」(文字のアイコン)タブを開く
- 「内部の余白」で上下左右のマージンを変更
| 余白 | デフォルト値 | 推奨値(狭くする場合) |
|---|---|---|
| 左余白 | 0.25cm | 0.1cm |
| 右余白 | 0.25cm | 0.1cm |
| 上余白 | 0.13cm | 0.05cm |
| 下余白 | 0.13cm | 0.05cm |
「テキストに合わせて図形のサイズを変更する」
「図形の書式設定」→「テキストボックス」タブで「テキストに合わせて図形のサイズを変更する」にチェックを入れると、テキスト量に応じてテキストボックスが自動的にリサイズされます。
セル内の行間を変更する方法(テキストボックス不要)
セル内で改行して行間を調整する
セル内で Alt+Enter で改行した場合の行間は、直接変更できません。ただし、以下の方法で間接的に調整できます。
方法1: 行の高さを手動で調整する
- 行番号の境界をドラッグして行の高さを変更
- セルの垂直方向の配置を「中央揃え」に設定
方法2: フォントサイズで調整する
空行(Alt+Enterのみの行)のフォントサイズを小さくすると、その行の高さだけ狭くなり、疑似的な行間調整が可能です。
- セル内の空行を選択
- フォントサイズを1〜4pt程度に変更
- 見た目の行間が狭くなる
方法3: 上付き/下付き文字で微調整する
セルの「セルの書式設定」→「フォント」→「上付き」「下付き」で文字の位置を微調整できます。
VBAで複数テキストボックスの行間を一括変更する方法
全テキストボックスの行間を一括設定するマクロ
Sub SetLineSpacingAll()
Dim shp As Shape
Dim ws As Worksheet
Set ws = ActiveSheet
For Each shp In ws.Shapes
If shp.HasTextFrame Then
With shp.TextFrame2.TextRange.ParagraphFormat
.SpaceWithin = 0.8 '行間を0.8倍に設定
.SpaceBefore = 0 '段落前の間隔を0に
.SpaceAfter = 0 '段落後の間隔を0に
End With
End If
Next shp
MsgBox "全テキストボックスの行間を変更しました"
End Sub選択したテキストボックスのみ変更するマクロ
Sub SetLineSpacingSelected()
Dim shp As Shape
If TypeName(Selection) = "DrawingObjects" Then
For Each shp In Selection.ShapeRange
If shp.HasTextFrame Then
With shp.TextFrame2.TextRange.ParagraphFormat
.SpaceWithin = 0.8
.SpaceBefore = 0
.SpaceAfter = 0
End With
End If
Next shp
MsgBox "選択したテキストボックスの行間を変更しました"
Else
MsgBox "テキストボックスを選択してください"
End If
End SubVBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。
LINEでExcelを気軽に学べる
行間がずれる・おかしくなる原因と対処法
フォントの種類によって行間が変わる
- 原因: 日本語フォントと英語フォントで行間計算が異なる
- 対処: テキストボックス内のフォントを統一する(游ゴシック、メイリオ等)
一部の行だけ行間が広い
- 原因: その行だけ異なるフォントサイズやフォントが混在している
- 対処: テキスト全体を選択(Ctrl+A)→ フォントとサイズを統一
コピー元の書式が反映されてしまう
- 原因: 他のソフト(Word、Web等)からコピーした際に書式が引き継がれる
- 対処: 「貼り付けオプション」→「テキストのみ保持」で貼り付け
印刷時に行間が画面と異なる
- 原因: プリンタドライバの違いや拡大率の影響
- 対処: 「固定値」で行間を指定すると、印刷結果が安定する
行間調整マクロの動作をデモで確認
テキストボックスの行間を一括調整するマクロの効果を、下のインタラクティブデモで確認できます。
VBAマクロの実行結果は記事冒頭のインタラクティブデモで確認できます。ボタンを押すとアニメーションで動作をシミュレーションします。
実際の操作手順をクリックして体験できます。各ステップをクリックしてみましょう。
まとめ
| 目的 | 方法 | 設定場所 |
|---|---|---|
| 行間を狭くする | 固定値 or 倍数0.8 | 段落 → 行間 |
| 行間を広くする | 1.5行 or 2行 | 段落 → 行間 |
| 余白を狭くする | 内部マージン変更 | 図形の書式設定 → テキストボックス |
| セル内の行間 | 空行のフォントサイズ変更 | フォントサイズ |
| 一括変更 | VBAマクロ | SpaceWithinプロパティ |
テキストボックスの行間は「段落」ダイアログから簡単に変更できます。行間を詰めたい場合は「固定値」または「倍数」を使い、余白が気になる場合は「図形の書式設定」の内部マージンも調整しましょう。
