Excel VBA中的ListBox中的持久值

这是我在这个论坛的第一个问题,我对Excel VBA很新颖。

我有一个文本框有一个Exit事件。 我的要求是,当我填充该文本框,并从那里退出它的值应填充在ListBox中。 现在,当我试图在文本框中再次插入值时,它会覆盖ListBox中的以前的值。 我想要的价值是持久的。 所以在文本框中input的值应该按顺序排列。

这是我试过的:

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

但是,那么我怎样才能从文本框中的下一个值,并使其在列表框中显示…(所以如果我在文本框中input3个值,它应该在列表框中显示三行)

当你说ListBox1.List(0) = TextBox2.Text ,你告诉代码总是添加(replace第二个实例)到列表框中的第一个项目。

这是你正在尝试?

 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