如何在 Excel 中自动调整合并单元格的行高?
ms excelmicrosoft technologiescomputers更新于 2024/10/3 11:56:17
我们可以看到,如果我们尝试将大量数据放入一个单元格中,那么当我们移动到另一个单元格时,数据仍然会显示出来;解决这个问题的唯一方法是增加单元格的行高。对于只有一个单元格的情况,我们可以使用"Alt+Enter"命令调整行高,但当我们尝试合并不同高度的单元格时,我们也会遇到同样的问题:我们无法使用该命令。阅读本教程,了解如何解决这个问题,即如何在 Excel 中自动调整合并单元格的行高。
在 Excel 中自动调整合并单元格的行高
在这里,我们将首先插入一个 VBA 模块,然后运行代码并选择一定范围的单元格来完成任务。让我们通过一个简单的过程来理解如何在 Excel 中自动调整合并单元格的行高。
步骤 1
请考虑下图所示的 Excel 工作表,其中合并了两个高度不同的单元格 -
现在要调整行高,右键单击工作表名称并选择"查看代码"以打开 VBA 应用程序,然后单击"插入"并选择"模块",然后在文本框中输入"programme",如下图所示。
示例
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 中自动调整合并单元格的行高。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

