logo search
Информатика и КГ_2014

8.4. Использование комбинированного списка

Пример 8.4. Пусть имеется список группы, в котором содержатся сведения об оценках, полученных студентами во время сессии (рис. 8.3).

Рис. 8.3. Рабочий лист Excelсо списком группы

Требуется подсчитать средний балл для конкретного студента, выбранного из списка.

На рабочем листе с помощью панели Элементы управления создадим кнопку с надписью «Средний балл».

Для выбора фамилии студента разработаем форму, представленную на рис. 8.4. На этой форме с именем UserForm1 создадим комбинированный список ComboBox1 с надписью «Раскройте список, выберите фамилию, нажмите кнопку» в элементе управления Label1.

Командная кнопка с заголовком «Расчет среднего балла» запускает программу расчета. В поле TextBox1 выводится полученный результат, перед этим полем в метке Label2 сделана надпись «Средний балл».

Рисунок 8.4. Пользовательская форма

Для кнопки «Средний балл», которая находится на рабочем листе Лист1, запишем программу:

Sub CommandButton1_Click()

I = 4

Do Until Worksheets(“Лист1”).Cells(I, 1)=””

I = I + 1

Loop

J = I - 1

UserForm1.ComboBox1.RowSource = "Лист1!b4:b” & J

UserForm1.Show

End Sub

Здесь ”” означает пустую ячейку. В переменной J определяется номер последней заполненной строки в таблице. Затем с помощью метода RowSource заполняется комбинированный список ComboBox1 информацией из ячеек b4:bJ. С помощью метода Show форма вызывается на экран.

Для кнопки «Расчет среднего балла» запишем программу:

Sub CommandButton1_Click()

n = UserForm1.ComboBox1.ListIndex + 1

s = 0

For i = 1 To 4

b = Worksheets("Лист1").Cells(n + 3, i + 2).Value

s = s + b

Next

a = s / 4

UserForm1.TextBox1.Text = a

End Sub

В этой программе определяется номер выбранного элемента списка посредством свойства ListIndex, а затем высчитывается средний балл. Полученный результат помещается в текстовое окно TextBox1 на форме.