Я работаю с VBA и у меня есть проблема, для которой я просто не могу найти решение. Я создал пользовательскую форму с TextBox, ListBox и двумя кнопками. Если вы введете текст в TextBox и нажмете Button1
, то текст TextBox будет добавлен с помощью команды ListBox.AddItem
в список. Эта часть прекрасно работает.
Если вы нажмете Button2
, он скопирует записи ListBox в лист Excel. У меня проблема с этой частью. Код выглядит следующим образом:
For i = 0 To ListBox1.ListCount - 1
ListBox1.Selected(i) = True
ActiveSheet.Cells(2, 3) = ListBox1.Value
ListBox1.Selected(i) = False
Next i
Этот код прекрасно работает, если я открою пользовательскую форму и щелкну один раз в любом месте списка. С тех пор код работает без проблем. Я также могу закрыть пользовательскую форму и открыть ее снова. Это все еще будет работать.
Проблема возникает, если я открываю весь файл Excel и пользовательскую форму и не щелкаю один раз где-нибудь в ListBox , он просто не копирует содержимое. Сам код все еще работает и выполняется. Кажется, что команда ListBox1.Value
не имеет содержимого. Есть ли лучший способ решить мою проблему?