[英]Programmatically add ComboBox in VBA (Excel)
我正在嘗試在VBA中創建,放置和填充ComboBox的元素。 我不明白我錯過了什么,但我不知道該怎么做。 我的API中沒有 MSForms
(即我無法將Dim someComboBox As MSForms.ComboBox
寫Dim someComboBox As MSForms.ComboBox
因為它失敗了。是否有可能以某種方式導入它?有人能指出我正確的方向嗎?
我想要實現的是,當用戶單擊一個按鈕時,會創建一個包含各種項目(ComboBoxes,RadioButtons等)的新表單,因此我想以編程方式執行此操作。
您可以依賴以下代碼:
Set curCombo = ActiveSheet.Shapes.AddFormControl(xlDropDown, Left:=Cells(1, 1).Left, Top:=Cells(2, 1).Top, Width:=100, Height:=20)
With curCombo
.ControlFormat.DropDownLines = 2
.ControlFormat.AddItem "Item 1", 1
.ControlFormat.AddItem "item 2", 2
.Name = "myCombo"
.OnAction = "myCombo_Change"
End With
您需要對Microsoft Forms 2.0對象庫的引用。 一種簡單的方法是在項目中插入UserForm。
或者,在“工具/參考”對話框中找到此參考。
您可以以編程方式創建一個UserForm,一個ComboBox等,但是只需插入一個UserForm並將其隱藏起來直到需要它會更容易。 如果需要,您還可以以編程方式向其添加新控件。
添加表單對象庫不會使您創建全新的表單和控件。 您需要Microsoft Visual Basic for Applications Extensibility庫。 這個鏈接很舊,但仍然相關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.