0
我想添加到創建的DataValidation DropDownList兩個額外的東西。首先是將DropDownList中的行數設置爲特定的數字,例如可以通過「.ListRows = 11」在VBA中使用普通的combolist。其次,如果用戶手動鍵入而不是從列表中選擇,則自動填充由用戶鍵入的文本(Combolist中的MatchEntry)到來自DropDownList的基於單元格的位置。我發現我無法在Validation.Add Method (Excel)的位置上完成任務,而且我對代碼構建還不夠了解,我該如何去做,或者我該如何裁判創建VBA代碼列表。Excel VBA數據驗證列表。列表屬性
With Range("F26:H26").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=RootCauses!A1:A11"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = varValTitle
.ErrorTitle = varValErrTitle
.InputMessage = varValMessage
.ErrorMessage = varValErrMessgae
.ShowInput = True
.ShowError = True
.ListRows = 11 '← my first broken solution
.MatchEntry = 1 '← my second broken solution
End With
無需限制行數。這段代碼已經做了'Formula1:=「= RootCauses!A1:A11'。數據驗證不支持自動完成。因爲Excel不公開按鍵事件,所以很難構建自己的(if你很自在地使用WinAPI [有一種解決方法](https://stackoverflow.com/questions/11153995/is-there-any-event-that-fires-when-keys-are-pressed-when-editing-a - 但它是先進的東西) –
謝謝,但它有8行,我需要11顯示所有的可能性,在一個時刻沒有滾動 – NoOne
對不起更多的壞消息Excel不包括一個選項來自定義最大數量顯示的行。 –