2013-08-22 16 views
1

我的用戶表單上有兩個組合框。第一個提供了來自命名列表「類別」的選項。我在該ComboBox的行源中鍵入了Category類別,並且它可以正常提供類別列表上所有項目的下拉菜單。如何正確引用Excel ComboBox源的動態列表?

類別列表上的每個項目本身都是一個命名範圍。我希望第二個組合框(供應商)讀取第一個選擇的項目,然後提供選定範圍內的選項。目前它只提供每個指定範圍內的第一項。我目前使用下面的代碼爲第一個組合框。

Private Sub Category_Change() 

Worksheets("Input").Range("D10") = Category.Value 
'Worksheets("Input").Range("D10") = CStr(Worksheets("Input").Range("D10")) 
Supplier.RowSource = Worksheets("Input").Range("D10") 
End Sub 

這寫入選第一組合框的單元格的值,然後嘗試獲得第二個組合框閱讀本...

任何幫助將是輝煌!

喬希

+0

Supplier.RowSource =工作表(「輸入」)。範圍(CStr(Category.Value)) –

+0

我剛剛嘗試過它,它適用於我(Excel 2003)。你確定命名的範圍不僅包含頂級單元嗎? – Joe

回答

2

你需要得到由文本細胞D10指定的範圍,而不僅僅是獲得範圍D10

改變你的代碼:

Supplier.RowSource = Range(Worksheets("Input").Range("D10").Value) 
0

謝謝你們。我相信你們都是對的。純粹是偶然的,我偶然發現了我的問題的原因。

我的主要列表是作爲一個列 - RowSource閱讀它的罰款。

我的輔助列表全部寫成行 - 哪些RowSource只是從中拉出第一個項目。將行重新排列爲列並更新Name Manager對其進行排序。

真是令人生氣的答案...

再次感謝!