Microsoft Excel. От основ к задачам обработки и представления данных. Степанченко И.В. - 124 стр.

UptoLike

Составители: 

126
Для каждой ячейки на
листе "Сессия" в диапа-
зоне от AO17 до AO316
Число двоек = Числу двоек + зна-
чение текущей ячейки
Значение ячейки
больше нуля?
Число двоечников = Числу двоечников + 1
Нет
Да
Рис. 84. Блок-схема участка программы.
Здесь перебираются все ячейки в диапазоне от AO17 до AO316
на листе с названием "Сессия", что является диапазоном количества
двоек у каждого студента. За перебор отвечает цикл For Each .. In
Next. Переменная Count2, содержащая количество двоек наращивает-
ся на величину Obj.Value, которая содержит значение ячейки (число-
вое или текстовое). Если попадется текст в этом диапазоне, то воз-
никнет ошибка несоответствия типа (пытаемся числовой переменной
прибавить текст). В этом же цикле удобно подсчитать количество
двоечников. Если у ячейки значение Value не равно нулю, значит
студент двоечник. Конечно, если в таблице окажется случайно число
123 (а предметов всего 12), то программа это не учтет. Для этого надо
добавить в условие сравнение Obj.Value < 13. Если значение ячейки
не равно нулю, то необходимо увеличить переменную Student2 (ко-
личество двоечников) на единицу. Кроме того, данный код зависит от
формул на листе, так как не считает число двоек у каждого студента,
а использует уже подсчитанные значения и суммирует их.
' Просмотрим каждую ячейку в диапазоне троек
For Each Obj In Worksheets("Сессия").Range("ap17:ap316")
Count3 = Count3 + Obj.Value ' Суммируем число троек
Next Obj
' Просмотрим каждую ячейку в диапазоне четверок
For Each Obj In Worksheets("Сессия").Range("aq17:aq316")
Count4 = Count4 + Obj.Value ' Суммируем число четверок
Next Obj
                                   Для каждой ячейки на
                                  листе "Сессия" в диапа-
                                  зоне от AO17 до AO316



                              Число двоек = Числу двоек + зна-
                                   чение текущей ячейки




                     Нет             Значение ячейки
                                      больше нуля?


                                               Да

                           Число двоечников = Числу двоечников + 1

                    Рис. 84. Блок-схема участка программы.
     Здесь перебираются все ячейки в диапазоне от AO17 до AO316
на листе с названием "Сессия", что является диапазоном количества
двоек у каждого студента. За перебор отвечает цикл For Each .. In …
Next. Переменная Count2, содержащая количество двоек наращивает-
ся на величину Obj.Value, которая содержит значение ячейки (число-
вое или текстовое). Если попадется текст в этом диапазоне, то воз-
никнет ошибка несоответствия типа (пытаемся числовой переменной
прибавить текст). В этом же цикле удобно подсчитать количество
двоечников. Если у ячейки значение Value не равно нулю, значит
студент двоечник. Конечно, если в таблице окажется случайно число
123 (а предметов всего 12), то программа это не учтет. Для этого надо
добавить в условие сравнение Obj.Value < 13. Если значение ячейки
не равно нулю, то необходимо увеличить переменную Student2 (ко-
личество двоечников) на единицу. Кроме того, данный код зависит от
формул на листе, так как не считает число двоек у каждого студента,
а использует уже подсчитанные значения и суммирует их.

    ' Просмотрим каждую ячейку в диапазоне троек
    For Each Obj In Worksheets("Сессия").Range("ap17:ap316")
       Count3 = Count3 + Obj.Value ' Суммируем число троек
    Next Obj
    ' Просмотрим каждую ячейку в диапазоне четверок
    For Each Obj In Worksheets("Сессия").Range("aq17:aq316")
       Count4 = Count4 + Obj.Value ' Суммируем число четверок
    Next Obj

                                      126