Практикум

End Sub

Loop

Next j

End If

GoTo 1

Работа с простым списком

End Sub

Next

End Sub

UserForm1.Show

Loop

J=I-1

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

Здесь ””означает пустую ячейку. В переменной 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

a = s / 4

UserForm1.TextBox1.Text = a

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

Пример 2. Пусть требуется по результатам сессии определить фамилии двоечников для списка студентов, представленного на рис.11.1.

Создадим форму пользователя, в заголовке которой напишем «Список двоечников» (в свойстве Caption), имя формы изменим на Neud (в свойстве Name). На форме разместим достаточно большой простой список (ListBox1). Тогда программа для некоторой кнопки на рабочем листе может выглядеть следующим образом:

Sub CommandButton1_Click()

i = 4

Do Until Worksheets("Лист").Cells(i, 1) = ""

For j = 1 To 4

oc = Worksheets("Лист1").Cells(i, j + 2)

If oc < 4 Then

Neud.ListBox1.AddItem Worksheets("Лист1").Cells(i, 2)

1: i = i + 1

Здесь i – номер строки в таблице на рабочем листе «Лист1» со списком группы, он начинается с 4, так как фамилии студентов записываются с четвертой строки.

В цикле Do…Loop просматривается содержимое списка студентов по строчкам до тех пор, пока не встретится пустая ячейка.

В цикле For…Next проверяются оценки каждого студента и, если встретилась оценка ниже 4, то фамилия такого студента помещается в список на форме. При этом проверять другие оценки этого студента уже не нужно, поэтому оператор GoTo выполняет переход по метке 1, где наращивается номер строки в таблице. В качестве метки может использоваться любое сочетание буквенных и цифровых символов.

1. Создать в Excel таблицу, пользовательскую форму, записать для них программы в соответствии с приведенными выше примерами. Опробовать работу программ.

2. Добавить в таблицу дополнительные сведения о годе рождения студентов, адресе и т.п.

3. Разработать пользовательскую форму, в которой выбиралась бы фамилия студента и определялся год рождения, адрес или другие параметры. Записать программы для кнопок, размещенных на рабочем листе и на пользовательской форме.