Как получить вывод из списка для заполнения некоторых ячеек

Я создал пользовательскую форму с парой списков. В Listbox1 есть все элементы, пользователь может выбрать несколько значений, а затем перейти в Listbox2. как только они появятся в listbox2, мне нужно, чтобы они заполнили некоторые ячейки. С 1 элементом списка на ячейку.

Я мучаюсь, пытаясь понять, как это сделать. Пока все, что у меня есть, это:

Private Sub CommandButton1_Click()
Dim tmpMsg As String
Dim t As Long

 tmpMsg = "Selected categories:"

For t = 1 To ListBox2.ListCount
 tmpMsg = tmpMsg & vbNewLine & ListBox2.List(t - 1)
Next

 Worksheets("Specialist Prices").Activate
    Range("a1").Select
    ActiveCell.Value = tmpMsg

End Sub

Это заполнит ячейку A1 всем набором элементов списка. но я не знаю, как поместить 1 значение в a1, затем перейти вниз и поместить следующее в A2 и так далее, пока не будут учтены все элементы.

Любая помощь будет оценена по достоинству.

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
0
908
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Прямо сейчас вы создаете одну строку. В нем есть разрывы строк, но это все еще один текст. Если вы не используете tmpmsg для чего-то другого, вы можете использовать цикл for для заполнения листа.

For t = 1 To ListBox2.ListCount
  Thisworkbook.sheets("Specialist Prices").Range("A" & t).value = ListBox2.List(t - 1)
Next

Вы даже можете сделать это быстрее, добавив массив ко всему диапазону. ListBox2.List — это массив значений, и вы можете вставить этот массив в диапазон ячеек:

ThisWorkbook.sheets("Specialist Prices").Cells(1,1).Resize(ListBox2.ListCount,1) = ListBox2.List

Метод Resize гарантирует, что диапазон содержит столько же ячеек, сколько элементов в ListBox2. Он изменяет размер диапазона от 1 ячейки до диапазона ListBox2.ListCount количества строк и 1 столбца.

Другие вопросы по теме