6

我有两个下拉列表——一个依赖于另一个——这意味着如果我从 A1 的列表中选择一个特定的值,一个特定的列表会出现在 A2 中。这工作得很好。但是,当我更改 A1 中的值时,A2 会保留在单元格中,直到我单击列表 - 然后我在 A2 中的值将根据我的选择而更改。

例如,如果列表 1 为 ['Yes','No'] 并且列表为是:[1,2,3] 否:[4,5,6]。首先,我为 A1 选择“是”,然后为 A2 选择 2。然后,如果我为 A1 选择“否”,“2”将留在 A2 中,直到我真正单击 A2 以选择新值 (4,5,6)。更改 A1 选择后,有什么方法可以“清除”A2?

谢谢!

4

3 回答 3

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
于 2013-08-22T15:19:36.983 回答
3

将此代码放在您的代码页中Worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("A1").Address Then
        Range("A2").ClearContents
    End If
End Sub
于 2013-08-22T15:18:24.717 回答
0

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

于 2013-08-22T15:09:10.210 回答