2016-10-18 54 views
0

我有以下代码,允许我在数据验证下选择多个项目。不过,我有两个组数据进行验证,并且我只希望这个代码应用的范围(“K41:K60,K73:K107)请告知感谢VBA适用于特定范围

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim rngDV As Range 
Dim oldVal As String 
Dim newVal As String 
If Target.Count > 1 Then GoTo exitHandler 


On Error Resume Next 
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) 
On Error GoTo exitHandler 


If rngDV Is Nothing Then GoTo exitHandler 


If Intersect(Target, rngDV) Is Nothing Then 


Else 
Application.EnableEvents = False 
newVal = Target.Value 
Application.Undo 
oldVal = Target.Value 
Target.Value = newVal 
If oldVal = "" Then 

Else 
If newVal = "" Then 

Else 
Target.Value = oldVal _ 
    & ", " & newVal 


End If 
End If 
End If 


exitHandler: 
Application.EnableEvents = True 
End Sub 

回答

0

你的意思,你只需要触发此代码!当在该范围内的小区改变?如果是的话,也许修订本线如下

If Intersect(Target, Range("K41:K60, K73:K107")) Is Nothing Then 
+0

您好,感谢答复。我已经第二个下拉列表中的H3,但我不希望它能够选择上面代码中的多个项目 – CaL

+0

如果您的代码可以避免H3选择列表中的多个项目,那么我应该在哪里插入代码?我是新来的宏或编码,我在网上找到代码。谢谢! – CaL

+0

对不起,我不确定我关注。你能解释一些关于你在做什么吗? – SJR