Excel和更改两个下拉列表之间的值

我有两个下拉列表 – 一个是依赖于其他 – 意思是如果我从A1列表中select一个特定的值,一个特定的列表出现在A2。 这工作得很好。 但是,当我在A1中更改值时,A2保留在单元格中,直到我单击列表中 – 那么A2中的值将根据我的select而改变。

例如,如果列表1是['是','否']并且列表为是:[1,2,3]否:[4,5,6]。 首先我为A1select“是”,然后为A2select2。 然后,如果我为A1select“否”,则“2”保持在A2中,直到我实际上点击A2来select一个新值(4,5,6)。 一旦我改变了A1的select,有什么办法可以“清除”A2?

谢谢!

将下面的代码放到Worksheet的代码页中:

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("A1").Address Then Range("A2").ClearContents End If End Sub 

把它放在工作表的VBA代码中:

 Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address = Range("A1").Address Then Dim dependentCell As Range Set dependentCell = Target.Offset(1, 0) 'Cell A2 If dependentCell.Validation.Value = False Then dependentCell.Clear End If End Sub 

您可以在worksheet_change过程中插入用于刷新A2列表的代码。 每次在该工作表中更改单元格值时,都会运行更新代码。