KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で結合済みセルの行の高さを自動調整するには?

著者Xiaoyang変更日

Excel では、データを明確に伝えるために、行の高さを素早く正確に調整することが重要です。行の高さをセルの内容に合わせて自動的に調整する「行の高さの自動調整」機能が通常は使えますが、結合セルを扱う場合には、この機能が期待通りに動作しないことに気づくかもしれません。その理由は、Excel の自動調整機能が結合セルを完全に無視してしまうため、内容に合わせて行の高さを自動で調整できないからです。そのため、すべての内容を正しく表示させるには、結合されたセルの行の高さを手動で調整する必要があります。特に結合セルが多数ある場合、この作業は面倒でミスも起こりやすくなります。

この記事では、結合済みの行の高さを効果的に自動調整するための実用的な方法をいくつかご紹介します。これにより、時間を節約しながら、見やすく整ったワークシートを維持できます。

VBA コードで結合済みの行の高さを自動調整

折り返して全体を表示と手動調整を使用する


VBA コードで結合済みの行の高さを自動調整

下のスクリーンショットのように、ワークシートにさまざまな量の内容を含む複数の結合セルがあると仮定します。各行を手動で調整することなくすべてのデータを完全に表示したい場合は、VBA コードを使って、一度に各結合セルの内容に応じて行の高さを自動調整できます。この方法は、シート全体に多数の結合範囲がある場合や、結合セルの内容が頻繁に更新され、調整作業を効率化したいときに特に役立ちます。

VBA を実行する前に、未保存の作業が失われないよう、必ずブックをマクロ有効ファイルとして保存してください。VBA はExcel が提供する安全な機能ですが、マクロが有効になっており、システムのセキュリティ設定でマクロの実行が許可されていることをご確認ください。

サンプルデータ

1ALT + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

2挿入 > 標準モジュールをクリックし、次のコードをモジュールウィンドウにコピー&ペーストしてください:

VBA コード:複数の結合済みの行の高さを自動調整
Option Explicit
Public Sub AutoFitAll()
  Call AutoFitMergedCells(Range("a1:b2"))
   Call AutoFitMergedCells(Range("c4:d6"))
    Call AutoFitMergedCells(Range("e1:e3"))
End Sub
Public Sub AutoFitMergedCells(oRange As Range)
  Dim tHeight As Integer
  Dim iPtr As Integer
  Dim oldWidth As Single
  Dim oldZZWidth As Single
  Dim newWidth As Single
  Dim newHeight As Single
  With Sheets("Sheet4")
    oldWidth = 0
    For iPtr = 1 To oRange.Columns.Count
      oldWidth = oldWidth + .Cells(1, oRange.Column + iPtr - 1).ColumnWidth
    Next iPtr
    oldWidth = .Cells(1, oRange.Column).ColumnWidth + .Cells(1, oRange.Column + 1).ColumnWidth
    oRange.MergeCells = False
    newWidth = Len(.Cells(oRange.Row, oRange.Column).Value)
    oldZZWidth = .Range("ZZ1").ColumnWidth
    .Range("ZZ1") = Left(.Cells(oRange.Row, oRange.Column).Value, newWidth)
    .Range("ZZ1").WrapText = True
    .Columns("ZZ").ColumnWidth = oldWidth
    .Rows("1").EntireRow.AutoFit
    newHeight = .Rows("1").RowHeight / oRange.Rows.Count
    .Rows(CStr(oRange.Row) & ":" & CStr(oRange.Row + oRange.Rows.Count - 1)).RowHeight = newHeight
    oRange.MergeCells = True
    oRange.WrapText = True
    .Range("ZZ1").ClearContents
    .Range("ZZ1").ColumnWidth = oldZZWidth
  End With
End Sub

注記:

(1。) 追加の結合範囲を調整したい場合は、Call AutoFitMergedCells(Range("a1:b2"))の行を必要な回数だけコピーし、自動調整したい各結合範囲のアドレスに書き換えてください。

(2。) スクリプト内のSheet4は、結合済みデータが配置されているワークシート名に合わせて必ず変更してください。ワークシート名がわからない場合は、Excel ウィンドウ下部のシートタブをご確認ください。

(3。) マクロを実行する際は、意図せず重要な機密データを含むセルが「範囲を選択してください」に含まれないよう十分ご注意いただき、予期しない書式変更を回避してください。

3F5キーを押してこのコードを実行すると、指定されたすべての結合済みセルが自動的に行の高さを調整し、セルの内容を完全に表示します(下図参照):

VBAコードによる結合セルの行の高さを自動調整した結果

この VBA ソリューションは、結合セルのサイズ調整を便利かつ自動的に行う方法を提供します。ただし、開発タブへのアクセスとマクロの使用が許可されている必要があります。マクロが無効または制限されている環境で共同作業を行う際は、この点にご注意ください。


折り返して全体を表示と手動調整を使用する

多くのシナリオでは、VBA や複雑なツールに頼ることなく、「折り返して全体を表示」機能と簡単な手動での行の高さ調整を組み合わせるだけで、すべての内容をクリアに表示できます。

手順1:「折り返して全体を表示」を有効にする
  1. 書式を設定したい結合済みセルを選択してください。
  2. ホームタブに移動し、折り返して全体を表示配置グループ内でクリックします。

これにより、内容は結合領域内で自動的に折り返されて改行されます。

手順2:表示を確認し、必要に応じて手動で行の高さを調整する

テキストがそれほど長くない場合は、現在の結合セル内に完全に収まるはずです。

内容が長すぎてまだ完全に表示されていない場合は、結合セルの下にある行の境界線をドラッグして行の高さを調整し、すべての内容が表示されるようにしてください。

?重要なお知らせ:Excel は結合済みの行の高さを自動的に調整できません。「折り返して全体を表示」オプションは改行を可能にしますが、行の高さを自動調整しません。そのため、テキストを折り返した後に行の高さを手動で微調整する必要がある場合があります。

関連記事:

Excel で列の幅を自動調整するには?


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得