Мне необходимо в форме пользователя создать: список1 с тремя столбцами, список2 с четырьмя столбцами, раскрывающийся список с тремя столбцами, два текстовых поля. Инициировать массив z(6,3). Список1 и раскрывающийся список заполнить элементами массива. В текстовое поле1 передать элемент из 3-го столбца раскрывающегося списка. Список2 заполнить, транспонировав массив z. В текстовое поле2 вывести элемент из 4-го столбца списка2 и его индекс.
Я форму создала. Массив z создала:
For i=1 To 6
For j=1 To 3
Randomize
z(i,j)=Int(Rnd()*100+1)
Next j
Next i
Заполняю список1 и раскр.список1 элементами массива:
With ListBox1
.ColumnCount=4
.List=z
End with
With ComboBox1
.ColumnCount=4
.List=z
End with
А вот В текстовое поле1 передать элемент из 3-го столбца
раскрывающегося списка я придумала только так:
n=InputBox("?")
TextBox1.Text=ComboBox1.List(n,3), но, наверное, это неправильно. И когда заполняю список2, транспонированый
массив заносится не весь из-за того, что только 4 столбца. А как выполнить последнее задание с ListIndex не знаю.
Помогите с заполнение списков, ПОЖАЛУЙСТА
Модератор: Naeel Maqsudov
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте Nastya88.
обратиться к колонке контрола можно по его индексу (нумерация с нуля)вопрос: зачем задается .ColumnCount=4, если размер массива 1 To 6, 1 To 3?
Евгений.
P.S. для удобочитаемости заключайте выкладываемый код в тэги [соde]...[/соde]
обратиться к колонке контрола можно по его индексу (нумерация с нуля)
Код: Выделить всё
Sub ComboBox1_Change()
' В текстовое поле1 передать элемент из [U]3-го[/U] столбца
TextBox1.Text = ComboBox1.Column(2)
End Sub
Sub ListBox1_Click()
TextBox2.Text = ListBox1.Column(0)
End Sub
Евгений.
P.S. для удобочитаемости заключайте выкладываемый код в тэги [соde]...[/соde]