在另一张纸上禁用单元格

我有2张主表和子表。

MainSheet有一个下拉是/否。 如果用户select“是”,则应启用子表格单元格,如果他没有select“单元格应该被禁用”。

此外,如果用户select“否”,并尝试点击禁用的单元格msg应显示“单击确定以启用单元格”,并且在下拉列表中的值应该更改为主表上的“是”。

以下function主表

If Intersect(Target, Range("G11")) Is Nothing Then Exit Sub Application.EnableEvents = False Select Case (Target.Value) Case "YES" Call Notify Case "NO" Call Notify Exit Sub End Select Application.EnableEvents = True 

在function下面,我用了一个模块。

 Public Sub Notify() If ActiveSheet.ProtectContents And Not mMessageDisplayed Then mMessageDisplayed = True If MsgBox("Cells are locked on current sheet, press ok to Unlock", vbOKCancel + vbInformation) = vbOK Then ThisWorkbook.Worksheets("MAIN").Range("G11") = "YES" With ThisWorkbook.Sheets("Subsheet") .Range("E13:E14").Locked = False End With Else ThisWorkbook.Worksheets("MAIN").Range("G11") = "NO" With ThisWorkbook.Sheets("Subsheet") .Range("E13:E14").Locked = True End With End If End If End Sub 

以下function在SubSheet上

 Private mMessageDisplayed As Boolean Private Sub Worksheet_Activate() Notify End Sub 

function正在工作。 唯一的问题是…即使用户已经select“是”,我也会收到消息提示。 意图是只有当他select了否,并且来到子表格并尝试编辑它时才得到msg提示符。