Поскольку вы уточнили свой вопрос, я изменил приведенный ниже код и оставил старый код на случай, если это поможет.
Мы используем CurrentListbox , чтобы отслеживать, какой списоктекущий.
Вы можете просто посчитать, сколько значений вводится, а затем разделить на 7, чтобы увидеть, какой список нужно заполнить или идентификатор / имя самого списка, мы просто использовали простое число.
Цикл ниже при нажатии кнопки ожидает 7 значений, разделенных запятыми.
Если значений меньше 7, при следующем вводе значений они начнут заполнять последний список, начиная с начала снова.
Если их больше 7, с дополнительными значениями ничего не поделаешь.
Class MyForm
Dim CurrentListbox as Integer
Sub Form_Load()
'
CurrentListbox = 1
Listbox1.Items.Clear
Listbox2.Items.Clear
Listbox3.Items.Clear
'
End Sub
Sub Button_Click()
'
Dim DataArray As String()
Dim CountA As Integer
'
DataArray = Split(Textbox1.Text, ",")
For CountA = 1 To DataArray.Count
If Counta >= 1 And Counter =< 7 Then
Select Case CurrentListbox
Case "Listbox1"
ListBox1.Items.Add(DataArray(CountA-1))
Case "Listbox2"
ListBox2.Items.Add(DataArray(CountA-1))
Case "Listbox3"
ListBox3.Items.Add(DataArray(CountA-1))
End Select
ElseIf CountA = 7 Then
'change to next listbox if not the last one
If CurrentListbox < 4 Then
CurrentListbox = CurrentListbox + 1
Else
' last one - no more listboxes
End If
Exit For
End If
Next
Textbox1.Text = ""
'
End Sub
'
End Class
СТАРЫЙ ОТВЕТ
Вы можете использовать функцию SPLIT для разделения текста стекстовое поле в массив отдельных значений.
каждое значение в вашем текстовом поле может быть разделено запятой (или пробелом или чем-либо еще, что вы хотите использовать в качестве разделителя).
Затем вы настраиваете цикл по массиву отдельных значений, добавляя каждое из них в списки, основываясь на том, сколько значений вы ввели в текстовое поле.
Dim DataArray As String()
Dim CountA As Integer
'
Listbox1.Items.Clear
Listbox2.Items.Clear
Listbox3.Items.Clear
'DataArray = Split("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21", ",")
DataArray = Split(Textbox1.Text, ",")
For CountA = 0 To DataArray.Count - 1
Select Case CountA
Case 0 To 6
ListBox1.Items.Add(DataArray(CountA))
Case 7 To 13
ListBox2.Items.Add(DataArray(CountA))
Case 14 To 20
ListBox3.Items.Add(DataArray(CountA))
End Select
Next