我試圖創建一個列表,它檢查所需名稱的數據庫,然後將該項目添加到下拉列表中。我到目前爲止的代碼的工作原理與它檢查名稱一樣,然後覆蓋列表中的任何以前的條目。我該如何修改,以便每次找到正確的數據時都添加一個新的列表項?正在更新下拉列表循環
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
我不能完全說出你的配對。是當一個特定的單元格發生變化或者某個東西被添加到列表中時?無論哪種方式,您都可以使用換頁或目標更改事件。 – Trum
這在激活表單時運行。問題是我只獲得系列中的最後一個項目,而不是整個系列,因爲每次運行循環時,它都會銷燬最後一個列表並使用單個項目創建一個新列表。例如列表應該是「選項1」,「選項2」,「選項3」,但它只給出「選項3」 –
您是否可以不在循環外執行單獨的刪除語句,並刪除該語句?目前,您在每次添加之前清除列表。 – Trum