2013-07-16 45 views
3

我正嘗試在VBA中創建,放置和填充組合框的元素。我不明白我錯過了什麼,但我不可能知道如何去做。我MSForms在我的API(即因爲它不能,我不能寫Dim someComboBox As MSForms.ComboBox。是否有可能以某種方式進口嗎?有人點我在正確的方向?以編程方式在VBA中添加組合框(Excel)

我想實現的是當用戶點擊一個按鈕,一個新的形式與各種物品(組合框,單選按鈕等)創造的,因此我想以編程方式做到這一點

回答

11

你可以依靠下面的代碼:

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 
+1

完美!再次感謝)。 –

+0

不客氣(這次也是)。 – varocarbas

0

您需要對Microsoft Forms 2.0對象庫的引用簡單的方法就是在你的項目中插入一個UserForm。

或者,在Tools/References對話框中找到該引用。

您可以通過編程創建UserForm,ComboBox等,但只需插入UserForm並將其隱藏起來直到需要時纔會更容易。如果需要,您可以編程添加新控件。

添加表單對象庫不會讓您創建全新的表單和控件。您需要Microsoft Visual Basic for Applications擴展性庫。 This link已過時,但仍相關。

相關問題