如何在 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 中自动调整合并单元格的行高。
广告