我有一些工作表正在分发给管理员,并且A:O列被锁定(受保护的工作表),但是P:T列是可编辑的,带有一些下拉验证列表。
如果经理在S列(单元格S2)中输入数据,并且从下拉列表中选择的值与O列(单元格O2)中的值相同,那么我希望有一个对话框显示他们无法输入与数据上已有的值相同。
我在想像这样的东西,但是它不起作用:
rng 1 = O列,rng 2 = S列
citiesNames
我想要它,所以mgr不能输入相同的值
这可能吗?
答案 0 :(得分:0)
如果您想要更即时的信息,可以使用Worksheet_Change()
事件使对话框在输入值后立即显示-并清除该值。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim watchRng As Range
Set watchRng = Me.Columns("S")
If Not Intersect(Target, watchRng) Is Nothing Then
If Target.Value = Me.Cells(Target.Row, "O").Value Then
Application.EnableEvents = False
MsgBox "You cannot input the same %"
Target.ClearContents
Application.EnableEvents = True
End If
End If
End Sub
此功能必须放置在工作表的代码模块中,才能正常工作。