Страница 1 из 1

Помогите с заполнение списков, ПОЖАЛУЙСТА

Добавлено: 07 дек 2009, 14:00
Nastya88
Мне необходимо в форме пользователя создать: список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 не знаю.

Re: Помогите с заполнение списков, ПОЖАЛУЙСТА

Добавлено: 07 дек 2009, 18:34
Teslenko_EA
Здравствуйте Nastya88.
обратиться к колонке контрола можно по его индексу (нумерация с нуля)

Код: Выделить всё

Sub ComboBox1_Change()
    ' В текстовое поле1 передать элемент из [U]3-го[/U] столбца
    TextBox1.Text = ComboBox1.Column(2)
End Sub
Sub ListBox1_Click()
    TextBox2.Text = ListBox1.Column(0)
End Sub
вопрос: зачем задается .ColumnCount=4, если размер массива 1 To 6, 1 To 3?
Евгений.
P.S. для удобочитаемости заключайте выкладываемый код в тэги [соde]...[/соde]