更新宏以将每行高度扩大 X 像素

更新宏以将每行高度扩大 X 像素

将所有行设置为 25 像素效果很好。

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = 25
End Sub

但我想取现有的行高并将其增加 10。

因此类似于这样的伪代码:

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = Rows(x).RowHeight + 10
End Sub

这可能吗?我一直想弄清楚它的语法,但没有成功。

答案1

不幸的是,没有简单的单语句方法可以做到这一点。就像在 Excel 中一样,没有办法选择多行并将行高拖动/设置为各个高度的增量。

最简单的解决方案是循环遍历所有行:

Option Explicit
'v0.1.0
Sub sbChangeRowHeightMulti()
  Application.ScreenUpdating = False
    Dim rowRow As Range
    For Each rowRow In Rows("3:1000")
      rowRow.RowHeight = rowRow.RowHeight + 10
    Next rowRow
  Application.ScreenUpdating = True
End Sub

答案2

我知道这是一个老问题,但是 Office 脚本似乎比 VBA 宏更容易访问,所以这里是可接受答案的替代方案。

function main(workbook: ExcelScript.Workbook) {
  
  /**Change padding amount below*/
  let padding = 10;
  
  let worksheet = workbook.getActiveWorksheet();
  let usedRange = worksheet.getUsedRange();
  let cnt = usedRange.getRowCount();
  for (var row = 0; row < cnt; row++) {
    usedRange.getRow(row).getFormat().setRowHeight(usedRange.getRow(row).getFormat().getRowHeight() + padding);
  }
}

答案3

尝试这个:

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = Rows("3:1000").RowHeight + 10
End Sub

相关内容