如何在 Excel 中自動調整合併儲存格的行高?
在 Excel 中,快速且準確地調整行高對於清晰呈現資料至關重要。一般情況下,您可以使用自動調整行高功能,讓行高自動配合儲存格內容。然而,當您在處理合併儲存格時,可能會發現自動調整行高無法如預期運作——Excel 的自動調整功能會完全忽略合併儲存格,導致無法自動調整行高以完整容納內容。結果是,您通常必須手動逐一調整每個合併儲存格的行高,才能確保所有內容清晰可見,這不僅耗時,還容易出錯,尤其當您面對大量合併儲存格時更是如此。
本文介紹幾種實用方法,協助您有效自動調整行高合併,節省時間並維持工作表整潔易讀:
使用 VBA 程式碼自動調整行高合併
假設您的工作表包含多個合併儲存格,且內容長度各異,如下方截圖所示。若您希望所有資料都能完整顯示,又不想逐一手動調整每一列高度,可透過 VBA 程式碼一次自動將行高調整至完美適配合併儲存格的內容。當您在工作表中有多個合併範圍,或合併儲存格內容經常更新、亟需簡化調整流程時,此方法尤其實用。
執行任何 VBA 程式碼前,請務必先將活頁簿另存為啟用巨集的檔案,以免遺失未儲存的作業。VBA 是 Excel 提供的安全功能,但仍請確認巨集已啟用,且系統的安全性設定允許執行巨集。

1. 按住 ALT + 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("a 1:b 2")) 這一行,並更新每個要自動調整的合併儲存格範圍位址即可。
(2.) 請務必將指令碼中的 Sheet 4 修改為您用來合併資料的工作表名稱。若不確定工作表名稱,可直接查看 Excel 視窗底部的工作表標籤!
(3.) 執行巨集時,請務必確認所選區域未意外包含含有重要或敏感資料的儲存格,以免發生非預期的格式變更。
3. 按下 F5 以執行此程式碼,執行後所有指定的合併儲存格將自動調整行高,完整顯示內容,如下圖所示:

此 VBA 解決方案提供了一種便捷的自動化方式,可輕鬆調整合併儲存格的大小。但請注意,此方法需存取「開發人員」索引標籤並取得執行巨集的權限——若您在巨集遭停用或受限的環境中協作,務必留意此限制。
使用自動換行與手動調整
在許多情境下,您可結合自動換行功能與快速的手動行高調整,輕鬆確保所有內容清晰可見,無需仰賴 VBA 或複雜工具。
步驟 1:啟用自動換行
- 選取您要格式化的合併儲存格。
- 前往開始索引標籤,然後點選位於對齊方式群組中的自動換行。
這將使內容在合併區域內自動換行。
步驟 2:檢查顯示效果,必要時手動調整行高
若您的文字不長,現在應該已完美置於合併儲存格中。
若內容較長仍無法完整顯示,請手動拖曳合併儲存格下方的列邊界以增加行高,直至所有內容皆可完整呈現為止。
相關文章:
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用