是否有一种简单的方法可以在更改单元格时自动执行宏观?
Sub Change()
If Range("E94").Value = "no" Then
Rows("95:118").EntireRow.Hidden = True
ElseIf Range("E94").Value = "yes" Then
Rows("95:118").EntireRow.Hidden = False
End If
End Sub
如果某人将E94中的值从"否"(标准)更改为"是",则应从" 95-118"中"弹出"单元格。如果我从"是"更改为"否",它们应该消失。
您可以使用Worksheet_Change
事件,对于您希望该代码运行的相关表。
在您的情况下,如果您只想在更改" e94"单元格时运行此代码,则需要检查某些单元格是否已更改,请使用该行进行:
If Not Intersect(Target, Range("E94")) Is Nothing Then
代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E94")) Is Nothing Then
If Target.Value = "no" Then
Rows("95:118").EntireRow.Hidden = True
ElseIf Target.Value = "yes" Then
Rows("95:118").EntireRow.Hidden = False
End If
End If
End Sub
使用Worksheet_change事件:
Private Sub Worksheet_Change(ByVal Target As Range)
'Call your Sub here
End Sub
另外,您可以使用事件的目标范围:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False,False) = "E94" Then
If Target.Value = "no" Then
Rows("95:118").EntireRow.Hidden = True
ElseIf Target.Value = "yes" Then
Rows("95:118").EntireRow.Hidden = False
End If
End If
End Sub