如何在 Excel 中自動調整合並單元格的行高?


我們可以看到,如果嘗試將大量資料放入一個單元格中,當我們移動到另一個單元格時,資料將不再顯示;解決此問題的唯一方法是增加單元格的行高。對於單個單元格,我們可以使用“Alt + Enter”命令調整行高,但是當我們嘗試合併不同高度的單元格時,可能會遇到同樣的問題;我們無法使用該命令。閱讀本教程,瞭解如何解決此問題,即如何在 Excel 中自動調整合並單元格的行高。

在 Excel 中自動調整合並單元格的行高

在這裡,我們將首先插入一個 VBA 模組,然後執行程式碼並選擇一個單元格範圍來完成任務。讓我們來看一個簡單的過程,瞭解如何在 Excel 中自動調整合並單元格的行高。

步驟 1

考慮以下 Excel 工作表的影像,其中兩個高度不同的單元格已合併 -

現在要調整行高,右鍵單擊工作表名稱並選擇“檢視程式碼”以開啟 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("Sheet1") 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

在程式碼中,sheet1 是工作表名稱,我們可以根據需要調整單元格範圍。

步驟 2

現在將工作表另存為啟用宏的模板,然後使用 F5 命令執行程式碼併成功完成我們的過程,如下圖所示。

結論

在本教程中,我們使用了一個簡單的示例來演示如何在 Excel 中自動調整合並單元格的行高。

更新於: 2023年1月10日

4K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告