如何通过 X 增加 Excel 中的行高。即添加垂直单元格填充

如何通过 X 增加 Excel 中的行高。即添加垂直单元格填充

我有这份报告,我想增加垂直单元格填充以使其更易于阅读。

现在,通常您可以选择多行并更改行高,直到您满意为止。

但是,在这种情况下,我的单元格中有换行文本和多行文本。我无法更改行高,因为换行文本会被截断。

我想做的是增加将一组单元格的行高调整为某个值。而不是简单地将其更改为指定值。即。

rowheight = rowheight + X

不是

rowheight = X


你能在 Excel 中做到这一点吗?我需要 VBA 吗?

答案1

我会选择下面的代码……不确定是否有办法一次将其应用于所有行。如果这里有其他人知道,我会很高兴(并投赞成票):)

Sub fixRowHeight()

Dim oRange As Excel.Range
Dim oRow As Excel.Range
Dim dblFactor As Double

Set oRange = Sheets(1).Range("A1:B25")
dblFactor = 5

For Each oRow In oRange.Rows

    oRow.RowHeight = oRow.RowHeight + dblFactor

Next oRow

End Sub

答案2

我刚刚遇到了这个问题上述解决方案在某些情况下并不令人满意。

  1. 在某处插入一列 - 可能是 A 列。选择整列。
  2. 给它最厚的顶部/底部边框 - 固体脂肪条 - 应用/确定。
  3. 选择您想要填充的所有其他列。将它们垂直居中。
  4. 隐藏边框列并保存。

这样可以为您提供大约 3 个单位/5px 的顶部和底部填充。使用 Arial,这足以使顶部和尾部不接触单元格边缘。

提供的 VBA 代码很好。但是,如果有人查看了您的电子表格,需要缩小某些列的范围,并因此删除手动格式或应用自己的格式,它就会失效。如果用户知道他们在做什么,他们会按 Ctrl + A 并双击行指示器以自动调整所有行的高度。

使用边框提供了一种始终有效的解决方案,除非手动格式化。

答案3

阐述在答案上蒂亚戈·卡多佐,我添加了一个条件来检查,以确保在使用调整大小因子变量增加行高时不超过最大行高。

Sub FixRowHeight()
    Dim oRange As Excel.Range
    Dim oRow As Excel.Range
    Dim dblFactor As Double

    Set oRange = Sheets(1).Range("A1:O367")
    dblFactor = 12

    For Each oRow In oRange.Rows
        If oRow.RowHeight + dblFactor <= 409.5 Then
            oRow.RowHeight = oRow.RowHeight + dblFactor
        Else
            oRow.RowHeight = 409.5
        End If
    Next oRow
End Sub

答案4

这里有一个宏可以帮助您。

首先,它将每个单元格的垂直对齐方式设置为Center

接下来,当前高度每个细胞并添加7.5(这相当于10 像素)。最后,它会在单元格的顶部和底部添加 5 像素的填充。只需根据您的喜好调整此值即可。

Sub PadCells()

Set cr = Selection

For Each cr In cr.Rows
    newHeight = cr.RowHeight + 7.5 
    cr.VerticalAlignment = xlCenter
    cr.RowHeight = newHeight
Next cr

End Sub

使用方法:

  1. 选择要调整高度的单元格。
  2. 运行宏。

相关内容