2013-08-22 81 views
6

我有兩個下拉列表 - 一個取決於另一個 - 意思是如果我從A1中的列表中選擇一個特定的值,則會在A2中顯示一個特定的列表。這工作得很好。但是,當我更改A1中的值時,A2保留在單元格中,直到我單擊列表中 - 那麼A2中的值將根據我的選擇而改變。例如,如果列表1是['是','否']並且列表爲是:[1,2,3]否:[4,5,6]。首先,我爲A1選擇「是」,然後爲A2選擇2。然後,如果我爲A1選擇「否」,則「2」將保留在A2中,直到我實際點擊A2來選擇一個新值(4,5,6)。一旦我改變了A1的選擇,有什麼辦法可以「清除」A2?Excel和更改兩個下拉列表之間的值

謝謝!

回答

3

將這個代碼的代碼頁爲您Worksheet

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

偉大的解決方案 - 非常簡單! – mcfly

0

您可以在工作表的worksheet_change過程中插入用於刷新A2列表的代碼。每次在該工作表中更改單元格值時,都會運行更新代碼。

+0

這聽起來權利。我目前沒有使用任何VBA - 你能提供一個例子嗎?謝謝! – mcfly

+0

看起來像mcfly有一個很好的解決方案[上](http://stackoverflow.com/a/18384534/2658159)。 –

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 
相關問題