我有两个下拉列表 - 一个依赖于另一个 - 这意味着如果我从A1中的列表中选择一个特定值,则会在A2中显示一个特定列表。这很好用。但是,当我更改A1中的值时,A2会一直停留在单元格中,直到我点击列表 - 然后我在A2中的值将根据我的选择而改变。
例如,如果列表1为['是','否'],则列表为是:[1,2,3]否:[4,5,6]。首先,我为A1选择“是”,然后为A2选择2。然后,如果我为A1选择“否”,则“2”保持在A2,直到我实际点击A2以选择新值(4,5,6)。一旦我改变了A1选择,有没有办法“清除”A2?
谢谢!
答案 0 :(得分:4)
将其放入工作表的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
答案 1 :(得分:3)
将此代码放入Worksheet
的代码页:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
Range("A2").ClearContents
End If
End Sub
答案 2 :(得分:0)
您可以在工作表的worksheet_change过程中插入用于刷新A2列表的代码。每次在该工作表中更改单元格值时,您的更新代码都将运行。