繁体   English   中英

根据当前工作表(例如Sheet1)中的值,禁用另一工作表(例如Sheet2)上单元格的范围

[英]disable the range of cells on another sheet ( say Sheet2) based on the value in the current sheet(say Sheet1)

我正在尝试根据当前工作表(例如Sheet1)中的值来禁用另一工作表(例如Sheet4)上单元格的范围

我试图通过使用工作表更改功能基于sheet1(“ C5”)中的值来禁用sheet4(“ M4,M6,M8,M10,M12”)中的值。

对于Sheet1,我使用了以下代码并获取了错误消息

下标超出范围

Private Sub Worksheet_Change(ByVal Target As Range)

        Dim myRng As Range    
        Dim Cancel As Boolean

        If Not Intersect(Target, Me.Range("C5")) Is Nothing Then
            Set myRng = ThisWorkbook.Worksheets("Sheet4").Range("M4,M6,M8,M10,M12")
            Me.Unprotect Password:=SHEET_PASSWORD

            If Me.Range("C5").Value = "Yes" Then
                myRng.Locked = False
            Else
                myRng.Locked = True
                ThisWorkbook.Worksheets("Sheet4").Range("M4,M6,M8,M10,M12") = ""
            End If
            Me.Protect Password:=SHEET_PASSWORD
        End If

End Sub

如果我在Sheet1的单元格值C5中选择“是”,则应该启用sheet4中的单元格值(M4,M6,M8,M10,M12)。 如果我在Sheet1的单元格值C5中选择“否”,则应该禁用sheet4中的单元格值(M4,M6,M8,M10,M12)。

我认为这就是您要寻找的。

Private Sub Worksheet_Change(ByVal Target As Range)

    If ChangeEventFlag = 0 Then
        Dim myRng As Range
        Dim Cancel As Boolean

        If Not Intersect(Target, Me.Range("C5")) Is Nothing Then
            With ThisWorkbook.Worksheets("Sheet4")

            .Unprotect Password:="password"
            .Cells.Locked = False

            Set myRng = .Range("M4,M6,M8,M10,M12")

            If Me.Range("C5").Value = "Yes" Then
                myRng.Locked = False
            Else
                myRng.Locked = True
                myRng.Value  = ""
            End If
                .Protect Password:="password"
            End With

        End If
    End If

End Sub

注意:

  • 不确定使用ChangeEventFlag
  • 更改密码,我使用password进行测试

采用:

无论粘贴此代码的哪张工作表Range("M4,M6,M8,M10,M12")如果C5为“ 否”(实际上是“除”以外的任何内容) ,将锁定Sheet4 Range("M4,M6,M8,M10,M12") ,并且如果C5 ,则将其解锁

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM