当输入值为公式格式时,工作表行隐藏在Excel VBA中

时间:2016-03-10 20:17:32

标签: excel excel-vba vba

这是我的previous question的扩展名。以下是三种情况的屏幕截图:

enter image description here

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("G1")) Is Nothing Then
        Rows("5:10").EntireRow.Hidden = CBool(Range("G1").Value <= 10)
    End If
End Sub

我使用了上一篇文章中回答的等式。当我将值手动放入单元格G1时,它可以工作。当我使用公式G1=H1时,它就会停止工作。

1 个答案:

答案 0 :(得分:2)

您需要使用Worksheet_Calculate()事件:

Private Sub Worksheet_Calculate()        
        Rows("5:10").EntireRow.Hidden = CBool(Range("G1").Value <= 10)       
End Sub

Worksheet_Change事件仅处理用户直接更改的单元格,而当工作表计算时会触发此单元格。

enter image description here

{{3}}