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

Jay*_*Jay 11 microsoft-excel-2007 data-validation microsoft-excel

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

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

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

同样,如果用户在 List1、List2 和 List3 中进行选择,然后返回并更改 List1,我希望 List2-List4 默认返回“ALL”。

我该怎么做呢?

Jer*_*ire 1

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

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