vba数据有效性代码不知道为什么实现后没有右边的下拉箭头。。(>_<)求解

2024-10-31 19:23:58
有3个网友回答
网友(1):

我觉得问题有可能出在“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的。

网友(2):

你的数据有效性,formula后面写的公式看不清。
我断定,你写的公式不差坦是返搏返回一个excel区域引用,所以数据有效性不能漏庆祥产生下拉列表。

网友(3):

你这个图片怎么看啊?
请发源码,这样才能详细的分析一下。