我试图锁定一个单元格基于另一个单元格值。我使用了您提供的一些代码,并且工作得很完美。我还有一些其他代码也在活动工作表中更改,VBA发出错误。 随着下面的代码正在工作,但当条件改变时,我期望单元恢复正常并被解锁,但仍然锁定。需要审查的VBA代码
的代码是:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$7" Then
ActiveSheet.Unprotect ("mn")
If Target.Value = 10.4 Then Rows("21:26").EntireRow.Hidden = True
If Target.Value = 10.4 Then Rows("16").EntireRow.Hidden = True
If Target.Value <> 10.4 Then Rows("21:26").EntireRow.Hidden = False
If Target.Value <> 10.4 Then Rows("16").EntireRow.Hidden = False
End If
ActiveSheet.Protect ("mn")
End Sub
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect ("mn")
If [E14] = "N/A" Then
[G14].Locked = True
'Remove locked property if E14's value is anything else or is deleted.
Else
[G14].Locked = False
'Optional, reprotect sheet
End If
If [E28] = "N/A" Then
[g28].Locked = True
'Remove locked property if E28's value is anything else or is deleted.
Else
[g28].Locked = False
'Optional, reprotect sheet
End If
If [E38] = "N/A" Then
[g38].Locked = True
'Remove locked property if E38's value is anything else or is deleted.
Else
[g38].Locked = False
'Optional, reprotect sheet
End If
ActiveSheet.Protect ("mn")
End Sub
谢谢您的时间。
请张贴代码为文本,而不是链接到一个图片。 –
您的某个过程在进行更改时运行。另一个在纸张被激活时运行。哪一个给你一个问题? – Variatus
比你审查,第二部分,当F14不等于“N/A”,我期望单元格G14被解锁,我可以输入值。但是,G14仍然锁定! (对于其他单元格也是如此) – MahdiSafa