【发布时间】:2021-01-08 11:41:51
【问题描述】:
用于创建动态列表的公式(使用命名范围MDES,M01DES,...)不起作用:
Range("Tableau1[Code DES d''affectation]").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=si(B2=""M"",MDES,si(B2=""M01"",M01DES,si(B2=""P"",PDES,si(B2=""P01"",P01DES,si(B2=""P02"",P02DES,si(B2=""M01"",M01DES,si(B2=""O01"",O01DES)))))))"
你能帮我解决这个问题吗
谢谢
【问题讨论】:
-
si(...)是否意味着if(...)?还是这个自定义函数? -
是的。我还尝试了英文 "=if(B2=""M"",MDES,if(B2=""M01"",M01DES;""""))"
-
对我来说,最后一个
if()不包含else部分......所以,你必须用si(B2=""M01"",M01DES,O01DES)替换:si(B2=""M01"",M01DES,si(B2=""O01"",O01DES))。如果有帮助,请告诉我。 -
不,它不起作用:它没有显示列表,而是显示公式
标签: vba list conditional-statements