2016-08-16 88 views
0

這是我在這個論壇中的第一個問題,我對Excel VBA很新。Excel中的ListBox中的持久值VBA

我有一個文本框,其中有一個Exit事件。我的要求是,當我填寫該文本框並從那裏退出時,它的值應該填充到ListBox中。現在,當我試圖在文本框中再次插入值時,它會覆蓋ListBox中的以前的值。我希望這些值是持久的。所以在文本框中輸入的值應該按順序排列。

這裏是我的嘗試:

ListBox1.ColumnCount = 2 

ListBox1.AddItem 
ListBox1.List(0) = TextBox2.Text 

但後來我如何可以採取的下一個值從文本框,並使其在列表框中可見......(所以如果我在輸入文本框中的值是應在列表框中顯示三行)

+1

就是這樣?也許給我們一些工作?你的代碼嘗試?沒有 ? –

+0

當然。這裏是我的嘗試: ListBox1.ColumnCount = 2 ListBox1.AddItem ListBox1.List(0)= TextBox2.Text 但我怎麼可以從文本框的下一個值,並使其在列表框中可見.. 。(如果我在文本框中輸入3個值,它應該在列表框中顯示三行) – abhishek

+1

@abhishek你可以在你的問題中發佈代碼 – DragonSamu

回答

4

當您說ListBox1.List(0) = TextBox2.Text時,您告訴代碼始終將第二個實例添加到列表框中的第一個項目。

這是你正在嘗試?

Private Sub UserForm_Initialize() 
    ListBox1.ColumnCount = 2 
End Sub 

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 
    ListBox1.AddItem 
    ListBox1.List(ListBox1.ListCount - 1, 0) = TextBox1.Text 
End Sub 

如果你不需要多列列表框,那麼下面的代碼也可以。

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 
    ListBox1.AddItem TextBox1.Text 
End Sub