2012-01-16 68 views
0

以下是我想要做的事情。動態更改下拉列表的範圍

我有2個電池。在一個列表中包含進程,另一個列表中包含執行這些進程的機器......我想要做的是如果我在第二個單元格中選擇一個進程,那麼下拉列表中只有那些執行該進程的機器。

我命名的範圍與機器的每個進程的名字......所以我想要做的是一樣的東西:

If cell1.Value = X Then 
    cell2 = dropdown list with the values in the range Xmachiens 
End if 

類似的東西,但我不知道它是如何可能的。 我想在單元格2的下拉列表中加載該機器的範圍...基本上我想知道的是如何在單元格下拉列表中加載範圍。

LE:我sovled添加範圍下拉列表與問題:

With Selection.Validation 
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _ 
Formula1:="=$D$1:$D$3" 
.IgnoreBlank = True 
.InCellDropdown = True 
End With 

的問題是,如果我在小區1更改值,它會給我一個錯誤,並不會改變下拉列表中的值。我想我必須先清除下拉列表......我該怎麼做?

LE:我解決了這個問題。我加了Selection.Validation.Delete

回答

1

之前我sovled添加範圍下拉列表與問題:

With Selection.Validation 
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _ 
Formula1:="=$D$1:$D$3" 
.IgnoreBlank = True 
.InCellDropdown = True 
End With 

的問題是如果我更改Cell1中的值,它會給我一個錯誤,並且不會更改下拉列表中的值。我想我必須先清除下拉列表......我該怎麼做?

我解決了這個問題......我加

+1

前Selection.Validation.Delete你有興趣在非VBA的方法? – 2012-01-16 09:14:25