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

时间:2018-08-31 08:16:11

标签: excel vba excel-vba

我有一个长的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

由于某种原因,此代码未按照我的想法执行(不执行任何操作)。我检查了我是否使用了正确的高度值,但是一切似乎都很好。

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

您的代码在实际上高9.6的行上工作正常。尝试增加任何小于10.8高的行。

function watermarkLogo(buffer, last) {
              sharp(buffer)
                .overlayWith('watermark.png', { gravity: sharp.gravity.center } )
                .toBuffer(versions[ind].format, function(err, buffer) {
                  if (err) last(err);
                  else last(null, buffer);
                });
          }

答案 1 :(得分:1)

似乎您的RoweHeight不能为9.6

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

根据此post,您只能将高度设置为固定的“增量”,或者更精确地设置为“像素”

  

尽管有帮助,并且在“行高”对话框中说要在   点,Excel实际上以像素为单位设置行高。

     

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

     

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