我觉得问题有可能出在“Formula1:=”后面的表达式上。
不知道“提取不重复值(xxx)”这个桐谈表达是世枝否是个自定义函数。虽然我不懂函数,但结合数据有效性的表达规则分析:
1. 如果这个表达返回的是字符串型的结果,搜轮敏则该结果不应为空,而且其结果返回格式应类似于
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="A, B, C" 'A,B,C即为点击下拉条后显示列表结果
2. 如果这个表达返回的是一片包含数据的区域,则其结果返回格式应类似于
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$A$5:$A$8" '这片数据区域可以是绝对引用也可以是相对引用,但其前边要有等于号“=”
楼主可以重点测试一下这个表达式,或者录一段宏,对比分析一下,应该很容易发现bug的。
你的数据有效性,formula后面写的公式看不清。
我断定,你写的公式不差坦是返搏返回一个excel区域引用,所以数据有效性不能漏庆祥产生下拉列表。
你这个图片怎么看啊?
请发源码,这样才能详细的分析一下。