Копировать значения из ListBox в ячейки листа - PullRequest
0 голосов
/ 29 августа 2018

Я работаю с 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 не имеет содержимого. Есть ли лучший способ решить мою проблему?

1 Ответ

0 голосов
/ 29 августа 2018

Если вы хотите поместить элементы из уже заполненного ListBox на лист, вы можете попробовать что-то вроде этого ...

Dim x
x = Me.ListBox1.List
Range("C2").Resize(UBound(x) + 1, 1).Value = x

Настройте его согласно вашему требованию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...