Excel VBA:命名范围+string值作为validation列表?

好吧,基本上我想要做的是为特定的单元格设置数据validation列表。 这个列表应该包含我指定的一定范围的单元格PLUS添加一个string值。 我有一个对话框,询问用户名称,然后我需要列表显示包含“其他:”&名称添加到它的单元格的设置范围。

name = "Test" With Worksheets("Tijdsregistratie").Cells(aangepasteRij, 4).Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=nameRange, name" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With 

就像上面的代码(显然公式不起作用)。 有没有办法使用一个特定的公式来做到这一点,或者我将不得不find另一种方法来完成这个?

数据validation不接受“范围的联合”(例如"=nameRange, name""=$I$4:$I$9;$A$21"将是无效的input),但是当您更新对话框您可以创build一个包含“其他”和“名称”的新范围,并根据此新范围进行validation,或者仅在validation范围的末尾添加对话框的结果。

检查networking我设备这个快速入侵(下面的例子)

 Formula1:=Range("I4").Value & "," & Range("I5").Value & ",a,b" 

正如你可以看到Formula1接受格式为“option1,option2,option3”的stringinput,所以这很容易:用你的validation范围build立一个string,并从对话框中追加你的数据。