2016-08-16 75 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