如果是用recordset保存sql查询结果,先要做一些处理将结果赋给一个字符变量,比如:
for i=0 to rs.recordcount
validStr=iif(validStr="", rs(0), validStr & "," & rs(0))
next
然后再赋给数据有效性
Range("A1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=validStr
大致是这个思路,上面的代码没有经过测试
Formula1:=a,b,c