从工作表中删除唯一的validation列表

我有下面的代码来生成一个validation列表。 作为一个testing,我把“myList”放在单元格A5中。 它并不总是在一个固定的位置。 我想生成一个macros,它将删除所有“mylist”的validation列表。 我无法删除所有validation列表( cells.validation.delete ),因为工作表中存在其他列表。 任何支持将非常感激。

谢谢,

夏兰。

  Sub List_Test() Dim myList$, i% myList = "" For i = 1 To 7 myList = myList & "ListItem" & i & "," Next i myList = Mid(myList, 1, Len(myList) - 1) With Range("A5").Validation .Delete .Add _ Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, _ Formula1:=myList End With End Sub 

出于某种原因,你的(也许是所有?)VBA不喜欢多行,只需将.Add放在一行上:

 Sub List_Test() Dim myList$, i% myList = "" For i = 1 To 7 myList = myList & "ListItem" & i & "," Next i myList = Mid(myList, 1, Len(myList) - 1) With Range("A5").Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=myList End With End Sub