Excel/VBA基于特定单元格值显示或隐藏行

mrphzbgm  于 2023-01-06  发布在  其他
关注(0)|答案(2)|浏览(447)

我正在尝试找到一种方法,根据单元格J52中的值显示或隐藏行55:57。理想情况下,我希望使用VBA实时执行此操作。

J52中的值范围为0 - 3。
我尝试了这段代码,但它不工作,因为它抛出一个错误声明"Sub or Function not defined":

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
StartRow = 55
EndRow = 57
Tar = C52
For i = Tar To Tar
If Cell(i).Value = "Individuals" Then
Cells(StartRow, EndRow).EntireRow.Hidden = True
Else
Cells(StartRow, EndRow).EntireRow.Hidden = False
End If
Next i
End Sub

任何帮助都将不胜感激。谢谢。

ie3xauqp

ie3xauqp1#

这段代码只会在您更改C52中的值时触发。它执行您的代码建议的操作,而不是您的问题建议的操作。
(Target.Value = "Individuals")将根据Target的值返回TRUE/FALSE- Target是您更改的单元格(C52)。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$52" Then
        Range("55:57").EntireRow.Hidden = (Target.Value = "Individuals")
    End If
End Sub
lsmd5eda

lsmd5eda2#

这是稍微懒惰的编码,但我认为它达到了你想要的?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("55:57").EntireRow.Hidden = (Range("C52") = "Individuals")
End Sub

相关问题