如果/那么下拉列表

如果/那么下拉列表

经过广泛搜索,我似乎只找到级联下拉列表主题。我的情况是:

如果 M173=true 则允许单元格 K72 中的下拉列表,否则为空白。

作为参考,M173 的真或假取决于工作表其他位置的复选框是否被选中。

在打开数据验证选项卡后,我尝试了单元格 K72 内的各种 if 语句和 vlookup,甚至间接尝试。

没有 VBA 可以实现这个吗?

答案1

就像你说的,你可以使用另一个单元格 M1,例如:
=If(M173=True,"Fine","No")
我使用了 Fine,以防万一你需要在其他地方输入 Yes。
选择下拉列表的选项并定义名称Fine
在 K72 创建中Data Validation,选择List
在来源中写入:
=Indirect(M1)
在这种情况下,当 M1 与下拉列表不同时,Fine下拉列表为空,当你在 M1 中有 Fine 时,K72 将显示你想从列表中选择的值

下拉列表更新为空白
定义名称为空白单元格No并将其放在特殊位置,这样您就不会将其用于任何值(靠近 Fine 列表或是列表)
保持数据验证来源与之前一样 =Indirect(M1)
如果 M1 =“否”,列表将变为空白(如果它有任何值,您必须选择空白来清除单元格)
如果 M1="Yes" 或“Fine”,无论您选择什么,列表都会有您需要的选项
只需使用普通词来定义名称,不要使用TRUEFalse...

要自动清除它,你需要 VBA

相关内容