-1
我有一個動態名稱範圍,我想填充用戶窗體ComboBox
與。VBA Excel用戶窗體組合框填充/添加
Range1=OFFSET(Sheet1!$A$1,1,0,COUNTA(Sheet1!$A:$A)-1,1)
如何填充combobox
這個範圍,並使用combobox
添加和排序進入時的範圍內?
我有一個動態名稱範圍,我想填充用戶窗體ComboBox
與。VBA Excel用戶窗體組合框填充/添加
Range1=OFFSET(Sheet1!$A$1,1,0,COUNTA(Sheet1!$A:$A)-1,1)
如何填充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
單擊事件執行範圍
希望這可以讓你在加和排序正確的軌道:)
首先,歡迎來到聖ackoverflow。所以Stackoverflow並不是一個完美的地方,「我不知道如何編寫代碼,爲我編寫代碼」,這就是你如何脫穎而出,或許你應該說,並且應該說一些更像「我不喜歡的東西不知道如何對代碼進行編碼,我已經嘗試了X,但是沒有工作,X有什麼問題,我該如何修復X. –