EXCEL - 以 RowHeight 作为条件的 IF 语句不起作用



我有一个很长的Excel数据库,我创建了一个我最初没有创建的VBA宏(因此我不知道它是如何工作的(。问题是由于某种原因,VBA宏会缩小某些行的高度,这使得其中包含的文本并不总是100%可见。我已经对 Excel 文件进行了一些更改,所以我真的不想在我使用的 VBA 中搜索缺陷,所以我想编写一个简短的 VBA 代码来增加高度缩小的行的高度:

Sub Macro1() Dim rowIndex As Integer Dim lastRowIndex As Integer lastRowIndex = 15000 For rowIndex = 7 To lastRowIndex: If ActiveSheet.Rows(rowIndex).RowHeight = 9.6 Then ActiveSheet.Rows(rowIndex).RowHeight = 10.8 End If Next rowIndex End Sub

由于某种原因,这段代码没有按照我想象的方式执行(它什么也不做(。我检查了我是否使用了正确的高度值,但一切似乎都很好。

我错过了什么吗?

您的代码在实际高度为 9.6 的行上运行良好。尝试增加任何小于 10.8 高的行。

Sub Macro1()
Dim rowIndex As Integer
Dim lastRowIndex As Integer
lastRowIndex = 15000
For rowIndex = 7 To lastRowIndex
If ActiveSheet.Rows(rowIndex).RowHeight < 10.8 Then
ActiveSheet.Rows(rowIndex).RowHeight = 10.8
End If
Next rowIndex
End Sub

似乎你不能有 9.6 的 RoweHeight

Sub TestItA()
ActiveSheet.Rows(7).RowHeight = 9.7
Debug.Print ActiveSheet.Rows(7).RowHeight
End Sub

根据这篇文章,您只能以固定的"增量"设置高度,或者更准确地说是"像素"设置高度

虽然帮助和行高对话框,说要设置行高 点,Excel 实际上以像素为单位设置行高。

1 像素 = 72/96 点 = 0.75 点。

这就是为什么您只能以 0.75 的增量更改行高的原因 点。

最新更新