在 Excel 2010 中设置动态级联验证列表的默认值

在 Excel 2010 中设置动态级联验证列表的默认值

我终于弄清楚了如何使用数据验证和 INDIRECT 函数在 Excel 中构建动态级联列表集。但是,我遇到了一个问题。

我想设置我的电子表格,以便每当数据验证列表中发生更改时,所有后续列表都设置为默认值。例如:

假设我有 List1、List2、List3 和 List4。每个列表的值都取决于在它之前的列表中所做的选择。当我启动电子表格时,我希望所有列表都默认为“全部”。当用户在 List1 中选择一个值时,List2 会使用一组有效选项进行更新。我想将 List2 默认为这些选项之一。但是,虽然我可以让 List2 填充正确的选择选项集,但我无法为其分配所需的默认值。

类似地,如果用户在 List1、List2 和 List3 中做出选择,然后返回并更改 List1,我希望 List2-List4 默认恢复为“全部”。

我该怎么做呢?

答案1

我为解决此问题采用的非 VBA 方法是将 CONDITIONAL 格式应用于后续单元格,以检查其保存的当前值是否与当前 INDIRECT() 引用范围中的值匹配。如果不是,则单元格变为红色,或者值消失(匹配字体/背景),以便用户知道必须更新/重新选择该单元格的值。

为了说明这一点(以及上面其他人提到的 VBA 方法),有一个示例文件在这里。您想要的文件是DependentLists3.xls

相关内容