簡體   English   中英

VBA Excel 用戶窗體組合框填充/添加

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM