无法在工作表更改(以“ ByVal目标为范围”)工作中相交

时间:2019-02-25 15:27:37

标签: excel vba

下面的

MY代码应该用来解锁工作表,根据单元格K1的内容取消隐藏列,然后重新锁定工作表。我可以使用标准的If和IfElse语句来使它正常工作,但这会干扰其他需要锁定和解锁同一工作表中单元格的宏。因此,我认为如果使用事件处理程序,将可以解决此问题。但是我似乎无法使其正常工作或什么都做不到。一直以来,我还是一个新手,而且一直在学习,所以总是能得到任何帮助。

Private Sub Worksheet_Change(ByVal Target As Range)

ActiveSheet.Unprotect

If Not Intersect(Target, Range("K1")) Is Nothing Then
    If InStr(1, Range("K1"), 1) > 0 Then
    Columns("H:I").EntireColumn.Hidden = True
    Else
    Columns("H:I").EntireColumn.Hidden = False
    End If
End If

ActiveSheet.Protect

End Sub

0 个答案:

没有答案