预先,对不起,我的英语不好。 我一直在为此苦苦挣扎,需要一些帮助。我正在使用来自工作表代码的验证代码。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("M:M")) Is Nothing Then
'I've some code here just to filter the list to display
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=blah
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End If
问题是无论何时我在工作表中进行选择,例如:从K到T,im通过M传递,因此代码/验证将应用于整个选择。我只想单击M2,M3等来应用。
我将不胜感激!
问候
答案 0 :(得分:0)
替换:
With Target.Validation
具有:
With Intersect(Target, Range("M:M"))
答案 1 :(得分:0)
首先,给您Target
,您应该使用它而不是ActiveCell
。
第二,跳过“ M”行中的任何目标。为了计算所有可能发生的事情,您必须进行检查
这可以通过以下方式完成:
If Not (Target.Columns.Count = 1 And Target.Column = 13) Then
MsgBox "Co-cooo"
End If