Excel清除单元格内容

时间:2018-08-22 16:41:16

标签: excel excel-vba excel-formula

需要一些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单元格是数据验证列表。

谢谢

1 个答案:

答案 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