0

我正在尝试创建一个列表,该列表检查数据库中所需的名称,然后将该项目添加到下拉列表中。到目前为止,我所拥有的代码的工作原理是检查名称,然后覆盖列表中的任何先前条目。如何更改以便每次找到正确数据时添加一个新列表项?

While ThisWorkbook.Worksheets("Inventory Database").Range("A" & j).Value <> ""
If ThisWorkbook.Worksheets("Inventory Database").Range("A" & j) = ThisWorkbook.Worksheets("Equipment Availability").Cells(1, i) Then
dvList = ThisWorkbook.Worksheets("Inventory Database").Range("B" & j)

'~~> Creates the list 
With Sheets("Equipment Availability").Cells(2, 2).Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=dvList
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With
End If
j = j + 1
Wend    
4

1 回答 1

0

您应该只创建一次验证列表,同时引用一个命名范围。如果您在每个循环上扩展命名范围(添加新值),则验证列表将自动更新。

于 2015-09-24T14:42:52.140 回答