动态更改下拉列表的范围

时间:2012-01-16 06:57:53

标签: excel vba excel-vba

这就是我想要做的事。

我有2个细胞。其中一个是包含进程的列表,另一个包含执行这些进程的计算机...我想要做的是,如果我在第二个单元格中选择一个进程,那么下拉列表中只有用于执行该进程的计算机。

我使用每个进程的机器名称命名范围...所以我想要做的是:

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

类似的东西,但我不知道它是如何可能的。 我想在单元格2的下拉列表中加载该机器的范围...基本上我想知道的是如何在单元格下拉列表中加载一个范围。

LE:我解决了在下拉列表中添加范围的问题:

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

问题是,如果我更改Cell1中的值,它将给我一个错误,并且不会更改下拉列表中的值。我想我必须先清除下拉列表......我怎么能这样做?

LE:我解决了问题......我在

之前添加了Selection.Validation.Delete

1 个答案:

答案 0 :(得分:1)

我解决了在下拉列表中添加范围的问题:

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

问题是,如果我更改Cell1中的值,它将给我一个错误,并且不会更改下拉列表中的值。我想我必须先清除下拉列表......我怎么能这样做?

我解决了问题...我在

之前添加了Selection.Validation.Delete
相关问题