2012-03-08 30 views
0

我有一個Excel2010 VBA用戶窗體有一個組合框,用戶應該從中選擇當前打開的Excel工作簿。該USERFORM_Initialize子程序中包含(除其他事項外):VBA Excel組合框下拉列表obj.addItem後爲空

cbWorkbook.Clear 
    cbWorkbook.Visible = True 
    For Each wb In Workbooks 
     cbWorkbook.AddItem wb.name 
    Next wb 

我已在這個代碼中設置斷點,並且我能夠一步通過它;在目前的情況下,有四個開放的工作簿,並且適合每個「重複」四次。我可以看到,wb.name包含我想要的值。

但是,當窗體顯示並單擊Dropbox箭頭時,「列表」爲空。它看起來像有一個項目的空間,並且該項目是空白的。 (我相信這是一個空的下拉框的典型例子。)

選擇組合框的屬性有: Autosize = False; AutoTab = FALSE;啓用= TRUE; DropButtonStyle = 1-fmDropButtonStyleArrow; 身高= 18; ListRows設爲= 8; ListStyle = 0;鎖定= FALSE; ShowOptionWhen = 2; SpecialEffect = 2;風格= 0;可見=真。在執行時,cbWorkbook.listCount = 4

這是在開發中,它確實看起來像昨天預期的那樣工作,但現在似乎從來沒有工作。任何想法,我可能會出錯?

編輯:我找到了解決方案:我有無意中複製cbWorksheet頂部的另一個組合框,有效地隱藏它。我看到的控制器是空的,而我想要的控制器被覆蓋。刪除流氓控制箱解決了問題。

我的歉意;這應該是我所尋求的第一件事。

+0

你有錯誤處理嗎? – SWa 2012-03-08 16:31:58

+0

此時此工作簿中的任何地方都不會出現錯誤處理。 – Dennis 2012-03-08 18:31:25

+0

你可以發佈用戶表單的完整代碼嗎? – SWa 2012-03-09 09:19:57

回答

1

我找到了解決方案:我在cbWorksheet的頂部無意中複製了另一個組合框,實際上隱藏了它。我看到的控制器是空的,而我想要的控制器被覆蓋。刪除流氓控制箱解決了問題。

我的歉意;這應該是我所尋求的第一件事。

0
With ComboBox1 
    .AddItem "This" 
    .AddItem "Is" 
    .AddItem "A" 
    .AddItem "Test" 
End With 

,或者如果你想與範圍的數據來填充它:

ActiveSheet.Shapes("ComboBox1").Select 
Selection.ListFillRange = "k1:k10" 

PS - 提交您的文件進行審查;它應該更容易看!

+0

對不起......如何提交評論? – Dennis 2012-03-08 18:32:15