如何在Excel中自动调整合并单元格的行高?

如何在Excel中自动调整合并单元格的行高?

我们可以看到,如果我们尝试将大量数据适合一个单元格中,数据将不会显示,如果我们移动到另一个单元格;解决这个问题的唯一方法就是增加单元格的行高。对于仅一个单元格,我们可以使用“Alt+Enter”命令来调整行高,但是当我们尝试合并不同高度的单元格时,我们可能会面临同样的问题;我们无法使用该命令。阅读本教程以了解如何解决此问题,即如何在Excel中自动调整合并单元格的行高。

在Excel中自动调整合并单元格的行高

在这里,我们将首先插入一个VBA模块,然后运行代码并选择一个单元格范围来完成任务。让我们看一个简单的过程,以了解如何在Excel中自动调整合并单元格的行高。

第一步

考虑具有两个不同高度的单元格合并的Excel表格的以下图像 –

如何在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
Bash

在代码中, Sheet1 是工作簿的名称,我们可以根据需求调整单元格范围。

现在将该表格保存为启用宏的模板,然后使用命令F5运行代码并成功完成我们的过程,如下图所示。

如何在Excel中自动调整合并单元格的行高?

结论

在本教程中,我们使用了一个简单的例子来演示如何在Excel中自动调整合并单元格的行高。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册