[英]VBA Excel UserForm ComboBox Populate/Add
我有一個動態名稱范圍,我想用它來填充 UserForm ComboBox
。
Range1=OFFSET(Sheet1!$A$1,1,0,COUNTA(Sheet1!$A:$A)-1,1)
如何使用此范圍填充combobox
combobox
並在輸入時使用combobox
添加和排序范圍?
免責聲明:我不會在盤子上給你代碼,但我肯定能讓你走上正軌:)
第一件事
COUNTA(Sheet1!$A:$A)-1
是查找最后一行編號的錯誤方法。 如果 Col A 有空格怎么辦?
使用=MAX((A:A<>"")*(ROW(A:A)))
代替。 這是一個數組公式。 這意味着如果您直接在工作表中使用它,則必須使用CTRL + SHIFT + ENTER 。 如果您在命名范圍內使用它,那么您不必擔心它。
其次
要遍歷范圍並添加到組合框,您可以使用此代碼
Dim aCell As Range
For Each aCell In MYRANGE
Combobox1.AddItem aCell.Value
Next aCell
第三
要添加到范圍,您只需使用
Range("A1").Value = Combobox1.value
最后
對范圍進行排序
'~~> Where ws is the relevant worksheet
ws.Columns("A:AE").Sort Key1:=ws.Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
可以使用Combobox1
點擊事件進行范圍的添加和排序
希望這能讓你走上正軌:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.