
如何自動適應Excel中合并單元格的行高?
在Excel中,我們可以使用來快速調整行高以適合單元格內容 自動調整行高 功能,但此功能將完全忽略合并的單元格。 也就是說,您無法應用 自動調整行高 要調整合并單元格的行高的功能,您需要手動調整合并單元格的行高。 在本文中,我可以介紹一些解決此問題的快速方法。
使用VBA代碼自動擬合合并單元格的行高
使用VBA代碼自動擬合合并單元格的行高驚人的! 在 Excel 中使用高效的選項卡,如 Chrome、Firefox 和 Safari!每天節省50%的時間,并減少數千次鼠標單擊!假設我有一個包含一些合并單元格的工作表,如下面的屏幕快照所示,現在我需要調整單元格行高的大小以顯示整個內容,下面的VBA代碼可以幫助您自動調整多個合并單元格的行高,請執行如下:
1。 按住 ALT + F11 鍵,然后打開 Microsoft Visual Basic for Applications窗口.
2。 點擊 插頁 > 模塊,然后將以下代碼粘貼到 模塊窗口.
VBA代碼:自動適合多個合并單元格的行高Option ExplicitPublic Sub AutoFitAll()Call AutoFitMergedCells(Range("a1:b2"))Call AutoFitMergedCells(Range("c4:d6"))Call AutoFitMergedCells(Range("e1:e3"))End SubPublic Sub AutoFitMergedCells(oRange As Range)Dim tHeight As IntegerDim iPtr As IntegerDim oldWidth As SingleDim oldZZWidth As SingleDim newWidth As SingleDim newHeight As SingleWith Sheets("Sheet4")oldWidth = 0For iPtr = 1 To oRange.Columns.CountoldWidth = oldWidth + .Cells(1, oRange.Column + iPtr - 1).ColumnWidthNext iPtroldWidth = .Cells(1, oRange.Column).ColumnWidth + .Cells(1, oRange.Column + 1).ColumnWidthoRange.MergeCells = FalsenewWidth = 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.AutoFitnewHeight = .Rows("1").RowHeight / oRange.Rows.Count.Rows(CStr(oRange.Row) & ":" & CStr(oRange.Row + oRange.Rows.Count - 1)).RowHeight = newHeightoRange.MergeCells = TrueoRange.WrapText = True.Range("ZZ1").ClearContents.Range("ZZ1").ColumnWidth = oldZZWidthEnd WithEnd Sub筆記:
(1.)在上面的代碼中,您可以添加新范圍,只需復制 調用AutoFitMergedCells(Range(“ a1:b2”)) 多次編寫腳本,然后將合并的單元格范圍更改為所需的范圍。
(2.)并且您應該更改當前工作表名稱 Sheet4 到您使用的工作表名稱。
3。 然后按 F5 鍵來運行此代碼,現在,您可以看到所有合并的單元格已自動適應其單元格內容,請參見屏幕截圖:
相關文章:
如何在Excel中自動調整列寬?
最佳辦公生產力工具
將小時轉化為分鐘 Kutools for Excel!準備好增強您的 Excel 任務了嗎? 利用的力量 Kutools for Excel - 您終極的節省時間的工具。 簡化復雜的任務并像專業人士一樣瀏覽數據。 以閃電般的速度體驗 Excel!
為什么需要 Kutools for Excel

