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