将所有行设置为 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