2014-07-12 107 views
1

我試圖將組合框的值設置爲0,1和2(硬編碼的值而不是單元格引用),但它似乎不起作用。我曾嘗試設置RowSourceType" to 1 and to值列表,但每次都收到編譯錯誤。例如,下面的代碼無法正常工作:在excel VBA中賦值給組合框

Private Sub UserForm_Initialize() 
Me.errorComboBox.RowSourceType = "Value List" 
Me.errorComboBox.RowSource = "0;1;2" 
End Sub 

Private Sub UserForm_Initialize() 
Me.errorComboBox.RowSourceType = 1 
Me.errorComboBox.RowSource = "0;1;2" 
End Sub 

我得到的RowSourceType線這兩個錯誤。我怎樣才能做到這一點?

+1

djikay的回答似乎是正確的。另外,看起來您使用的語法在Access中是正確的。我確信有差異的原因,但它有點刺激。 – dennythecoder

回答

3

要靜態填充在Excel中的一個組合框的列表中,嘗試這樣的事情:

Me.errorComboBox.List = Array("0", "1", "2") 

This SO question包含鏈接和其他的例子來實現你想要的。

+0

要添加到此,它應該在userform Initialize事件上完成。儘管工作完美。你也可以使用.addItem方法添加單個值。剛剛發現了這一點。謝謝。 – iliketocode

+0

'RowSource'實際上可以在Excel中使用。語法是一個字符串地址,例如'Me.ComboBox1.RowSource =「A1:A10」',它將在ActiveSheet中使用該範圍。 RowSource通常不是要走的路,但它是包含列標題的唯一方法。 RowSourceType似乎無法使用,所以我不知道爲什麼它在那裏。 –

+0

@DougGlancy:很高興知道,謝謝。編輯我的答案,讓其他人不會感到困惑。 – djikay