簡體   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