当input值处于方程式格式时,工作表行隐藏在Excel VBA中

这是我以前的问题的延伸。 以下是三种情况的截图:

在这里输入图像说明

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 ,它停止工作。

您需要使用Worksheet_Calculate()事件:

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

Worksheet_Change事件只处理由用户直接更改的单元格,而此单元格在计算表单时触发。

在这里输入图像说明

在这里输入图像说明