Я пишу некоторый код VBA для пользовательской формы. Значения выбираются в списке слева (LB_Participants). Затем нажимается «select» и значения копируются в список справа (LB_Output). Затем я хочу, чтобы VBA go через все эти элементы отдельно в LB_Output и просматривал другие связанные данные из другой рабочей таблицы. Проблема у меня в том, что иногда значения не выбираются. Я проверяю это с сообщением, и время от времени это пустое. Тогда никакие связанные данные не могут быть извлечены из курса. Прежде чем начинать заполнять пользовательскую форму, если я просто нажму один раз на LB_Output (даже без выбора какого-либо значения), у меня нет этой проблемы. Многие люди будут использовать пользовательскую форму, поэтому я не хочу объяснять им, что они должны сначала щелкнуть в списке, прежде чем продолжить ... Есть что-то, что я не правильно делаю? Бланк Msgbox
Dim ListCount As Integer
Dim z As Integer
ListCount = UserForm2.LB_Output.ListCount
For z = 0 To ListCount - 1
UserForm2.LB_Output.Selected(z) = True
TextString = UserForm2.LB_Output.Value
MsgBox (TextString)
'Split Participants into seperate names and copy them to data sheet
WArray() = Split(TextString, ";")
For Counter = LBound(WArray) To UBound(WArray)
Dim LRNames As Integer
If IsEmpty(Sheets("Data").Range("A1")) = True Then
LRNames = 0
Else
LRNames = Sheets("Data").Range("A" & Application.Rows.Count).End(xlUp).Row
End If
Strg = WArray(Counter)
Sheets("Data").Cells(LRNames + 1, 1) = Trim(Strg)
Next Counter
Next z