Excel VBA rowheigt from范围内的值

Excel VBA rowheigt from范围内的值,excel,row-height,vba,Excel,Row Height,Vba,我有一张Excel表格,在D列中有值。 我想根据每行单元格D的值设置行高。 D中的值很小,比如0.0593%,除了第一个(D4=31%)和最后一个(D92=40%) 为了得到一个合理高度的小值,我想将它们乘以10'000,但是409最大高度的问题来了 我有一个脚本,它可以一直工作到高值,所以我尝试了一个if公式。但坦率地说:我不知道我在这里做什么。。。我把它抄在一起了 所以问题是:只在D5-D91范围内工作,如果一个值应该超过409,给他15px的值 谢谢你的帮助 Private Sub Wor

我有一张Excel表格,在D列中有值。 我想根据每行单元格D的值设置行高。 D中的值很小,比如0.0593%,除了第一个(D4=31%)和最后一个(D92=40%)

为了得到一个合理高度的小值,我想将它们乘以10'000,但是409最大高度的问题来了

我有一个脚本,它可以一直工作到高值,所以我尝试了一个if公式。但坦率地说:我不知道我在这里做什么。。。我把它抄在一起了

所以问题是:只在D5-D91范围内工作,如果一个值应该超过409,给他15px的值

谢谢你的帮助

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  Dim i As Long
  For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row - 1
      With Cells(i, 4)
                    If .Cells(i, 4).Value * 10000 > 409 Then
            Rows(i).RowHeight = 12
                    Else
            Rows(i).RowHeight = Cells(i, 4).Value * 10000
            End If
      End With
   Next i

End Sub

将以下代码复制到任何标准模块并运行。您可能需要根据需要调整代码

Sub sample()

    Dim i As Long


        For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row
            If Cells(i, 4).Value * 10000 > 409 Then
                Rows(i).RowHeight = 12
            Else
                Rows(i).RowHeight = Cells(i, 4).Value * 10000
            End If
        Next

End Sub
子样本()
我想我会坚持多久
对于i=4到单元格(Rows.Count,1)。结束(xlUp)。行
如果单元格(i,4).Value*100000>409,则
行(i)。行高=20
ElseIf单元格(i,4)。值*100000<10
行(i)。行高=12
其他的
行(i).行高=单元格(i,4).值*100000
如果结束
下一个
端接头

如果可以通过一个过程来实现,为什么要使用
工作表\u selection change
事件?还有
单元格(i,4)。Value*10000看起来很奇怪。如果D列的值不正确,它可能会失败。正如我所说,我将这些内容复制到了一起,但绝对不确定。我只想要一个D行的范围,所以这个值应该是def。为0.xxxx%。我知道脚本中有错误,但解决方案会有所帮助…是的!太好了,非常感谢!下一个答案是我的代码和最小高度的调整。感谢you@fab_ulus如果你觉得这个答案有帮助,请投票表决。
Sub sample()

    Dim i As Long


        For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row
            If Cells(i, 4).Value * 100000 > 409 Then
                Rows(i).RowHeight = 20
            ElseIf Cells(i, 4).Value * 100000 < 10 Then
                Rows(i).RowHeight = 12
            Else
                Rows(i).RowHeight = Cells(i, 4).Value * 100000
            End If
        Next

End Sub