2016-08-16 3 views
0

Это мой первый вопрос на этом форуме, и я очень новичок в Excel VBA.Стойкие значения в ListBox в Excel VBA

У меня есть текстовое поле с событием Exit. Мое требование состоит в том, что когда я заполняю это текстовое поле и выхожу из него, его значения должны быть заполнены в ListBox. Теперь, когда я пытаюсь вставить значение снова в текстовое поле, он перезаписывает предыдущее значение внутри ListBox. Я хочу, чтобы значения были постоянными. Значения, введенные в текстовое поле, должны совпадать.

Вот что я пробовал:

ListBox1.ColumnCount = 2 

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

Но как я могу принять следующее значение из текстового поля и сделать его видимым в поле Списка ... (так что, если я вхожу 3 значения в текстовом поле он должен показывать три строки в списке)

+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 
Смежные вопросы