需要一些VBA /宏帮助。我的Excel 2013工作表中有以下VBA脚本。基本上,当B7选择设置为“通过”时,它将隐藏两行(B8:B9)。该部分有效。是“ ClarContents”无效。它基本上没有任何原因就关闭了我的Excel。我要做的是在隐藏或取消隐藏行之前/之后清除那些单元格内容。我肯定错过了什么。请帮忙。谢谢
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B7").Value <> "Pass" Then
Range("B8:B9").ClearContents
Rows("8:9").EntireRow.Hidden = True
Else
Rows("8:9").EntireRow.Hidden = False
End If
End Sub
顺便说一句。我要清除的B8:B9单元格是数据验证列表。
谢谢
答案 0 :(得分:0)
尝试以下代码,并在代码注释中进行解释:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
' make sure the cell changed is "B7"
If Not Application.Intersect(Target, Range("B7")) Is Nothing Then
If Target.Value2 = "Pass" Then
Range("B8:B9").ClearContents
Rows("8:9").EntireRow.Hidden = True
Else
Rows("8:9").EntireRow.Hidden = False
End If
End If
Application.EnableEvents = True
End Sub