Excel是否自动更新动态数据验证列表?

Excel是否自动更新动态数据验证列表?,excel,validation,dynamic,Excel,Validation,Dynamic,我有一个关于音符的简单电子表格,它完成以下功能: 首先,用户通过从下拉菜单中选择该选项来选择是显示锐化还是平淡。这会触发电子表格中的其他单元格以锐度或平度显示色阶。见下文 这个很好用。然后,另一个单元格使用数据验证作为下拉菜单,在下拉菜单中可以选择这些注释之一。见下文 这也可以正常工作,但如果单元格B2发生更改,则单元格D2不会自动更新到数据验证列表中的相应单元格。换句话说,如果单元格B2发生更改,则单元格D2可能包含注释列表中未显示的文本。请参见下面的可视化内容 在上图中,单元格B2被更改为锐

我有一个关于音符的简单电子表格,它完成以下功能:

首先,用户通过从下拉菜单中选择该选项来选择是显示锐化还是平淡。这会触发电子表格中的其他单元格以锐度或平度显示色阶。见下文

这个很好用。然后,另一个单元格使用数据验证作为下拉菜单,在下拉菜单中可以选择这些注释之一。见下文

这也可以正常工作,但如果单元格B2发生更改,则单元格D2不会自动更新到数据验证列表中的相应单元格。换句话说,如果单元格B2发生更改,则单元格D2可能包含注释列表中未显示的文本。请参见下面的可视化内容

在上图中,单元格B2被更改为锐度,从而正确地更新了注释列表。然而,由于单元格D2在本例中已经选择了一个平音符Db,因此单元格D2在本例中没有自动更新为其相应的尖音符C


话虽如此,我的问题是:如果数据验证列表发生更改,是否有可能让单元格D2自动更新为注释数据验证列表中相应的值?最好不使用VBA来防止在D2中有条目时更改B2,可以通过更改DV公式来返回错误,或者更简单地说,当D2为非空时返回FALSE。您应该添加一条解释性消息,这样用户就不会认为系统已经冻结

e、 g:

在Source下的公式中

您可能需要实际清除D2才能输入公式

当D2不清楚时,您可以选择B2,但无法更改它

这只是显示了选择单元格时可能显示的消息


如果您希望B2中的条目在从尖锐变为扁平或反之亦然时变为相应的注释,则需要VBA。

您是如何设置从属数据验证的?@RonRosenfeld data validation,Allow:List,Source:$B$6:$B$17 D2中的列表如何?我的评论当然是指D2中的列表。很抱歉为了防止列表不同步,您可以通过更改公式来防止更改B2(如果D2中有条目);或者,如果B2中有更改,您可以使用VBA清除D2。谢谢您的回答。这并不理想,因为它不允许单元格B2更改。但是,我仍然将您的答案标记为已更正,并给出+1,因为您在这方面的帮助。@Peter没有VBA,不知道还有什么。使用VBA事件代码,当然是可行的。谢谢
F1:  Sharps
G1:  Flats