Конспект урока на тему «Создание электронного журнала в Microsoft Office Excel»
«Создание электронного журнала в Microsoft Office Excel»
Разработчик:
преподаватель информатики:
Ласкин В.О.
e-mail: [email protected]
1 Оформление главной страницы
На первом этапе создания электронного журнала необходимо сформировать страницы журнала, календарно-тематические планы, главную страницу и осуществить навигацию между всеми страницами.
Главную страницу удобнее всего сделать в виде раскрывающегося списка, в котором будут присутствовать две группы: журналы и календарно-тематические планы, а так же два вида отчетов: отчет по часам и отчет по успеваемости (рисунок 1).
Рисунок 1. Главная страница электронного журнала
Для того чтобы структурировать предметы и календарно-тематические планы по группам нужно:
выделить все предметы;
перейти на вкладку Данные, выбрать инструмент Структура → Группировать → Строки.
С левого бока рядом со словом Журналы появиться значок , при нажатии на который раскроется список предметов. Аналогичную операцию нужно проделать с Календарно-тематическими планами.
Для перехода между страницами внутри журнала необходима навигация. Навигацию осуществляем с помощью макросов.
Создадим страницы журнала, календарно-тематического плана, отчетов и назовем их соответственно: математика, информатика, КТП математика и т.д.
Рисунок 2. Создание страниц электронного журнала
Для перехода между страницами будем использовать кнопки, но перед тем как их использовать, нам необходимо активировать инструменты Элементы управления, зайдя в пункт Надстройки и выбрав данный инструмент из списка. Создаем напротив каждого предмета кнопки с названием Перейти и назначаем макрос объекту. В окне Visual Basic вводим следующий код:
Sub Перейти_в_математика()
Worksheets("Математика").Visible = True
Worksheets("Информатика").Visible = False
Worksheets("Русский язык").Visible = False
Worksheets("Физика").Visible = False
Worksheets("Химия").Visible = False
Worksheets("История").Visible = False
Worksheets("КТП Математика").Visible = False
Worksheets("КТП Информатика").Visible = False
Worksheets("КТП Русский язык").Visible = False
Worksheets("КТП Физика").Visible = False
Worksheets("КТП Химия").Visible = False
Worksheets("КТП История").Visible = False
Worksheets("Отчет по часам").Visible = False
Worksheets("Содержание").Visible = False
End Sub
Команда Worksheets("Лист").Visible = False, скрывает лист, команда Worksheets("Лист").Visible = True показывает лист. Присвоив кнопке данный макрос, мы осуществим переход на лист Математика и скроем все остальные листы. Таким образом, присвоив подобный код каждой кнопке, мы осуществим навигацию по данному журналу.
2 Создание страниц электронного журнала
На странице электронного журнала должны присутствовать фамилии учеников, строка для ввода числа занятий, изучаемая тема занятия, а так же поля для ввода оценок. Microsoft Office Excel позволяет нам автоматически считать пропуски занятий студентов и находить средний балл по предмету, поэтому на странице журнала используем дополнительные столбцы пропуски и средний бал. На странице электронного журнала необходимо так же разместить управляющие кнопки для перемещения внутри страниц журнала. Приблизительный вид страницы электронного журнала показан на рисунке 3.
Рисунок 3. Примерное оформление страниц электронного журнала
Для подсчета пропусков необходимо ввести в ячейку следующую формулу =СЧЁТЕСЛИ(E3:BD3;"н"). Данная формула считает все ячейки с диапазона E3 по BD3, которые удовлетворяют условию «в ячейке содержится запись н».
Для подсчета среднего бала может использоваться формула =СРЗНАЧ(E3:BD3). Но так как при наличии пропусков по предмету более чем 30% ученик не аттестуется, считать средний бал не имеет смысла, поэтому имеет место следующая формула:
=ЕСЛИ((C3/52)<0,3;СРЗНАЧ(E3:BD3);"н").
Она анализирует количество пропусков и если их будет меньше 30%, то формула считает среднее значение. В противном случае в ячейку записывается н, что означает, не аттестован.
Для записи тем в ячейках с числами будут использоваться примечания. На данном этапе не стоит создавать и записывать их. Они будут созданы и записаны автоматически при выполнении макроса.
Для навигации по электронному журналу предусмотрены две кнопки: Изменить темы и Содержание. Первая кнопка будет отправлять нас на страницу с календарно-тематическим планом по данному предмету, вторая на главную страницу электронного журнала. Кнопки создаются способом, описанным в пункте 2.
3 Оформление календарно-тематического плана
Определим задачи календарно-тематического плана. Главной задачей календарно-тематического плана будет не только запись изучаемых тем, но и автоматическое заполнение страниц электронного журнала.
Календарно-тематический план будет состоять из таблицы, в которой по порядку будут записаны темы по предмету и трех управляющих кнопок. Первая кнопка называется записать изменения. Функциональное значение данной кнопки – запись тем на страницу журнала. Кнопки перейти в журнал и содержание служат для навигации между страницами журнала.
Приблизительный вид страницы календарно-тематического плана показан на рисунке 4.
Рисунок 4. Оформление календарно-тематического плана
Рассмотрим процесс создания кнопки записать изменения. Данная кнопка содержит в себе следующий макрос.
Sub Записать_в_Математика() {Название процедуры}
Dim B, L As Integer {Переменным B и L назначаем вещественный тип. Переменная B используется для подсчета количества тем, L – используется для обращения к определенным ячейкам}
Worksheets("Математика").Visible = True {Показывает лист Математика}
B = Range(Cells(2, 2), Cells(53, 2)).Count {Переменной B присваивается значение равное количеству тем}
For L = 2 To B + 1 {Цикл, записывающий значения тем из КТП Математика на страницу журнала Математика. Выполняется столько раз, сколько существует тем в календарно-тематическом плане}
Range(Cells(L, 2), Cells(L, 2)).Select {Выделение ячеек с темами КТП Математика}
A = ActiveCell.FormulaR1C1 {Переменной A присваиваются значения ячеек КТП Математика}
Sheets("Математика").Select {Переход на страницу Математика}
Range(Cells(1, L + 3), Cells(1, L + 3)).Select {Выделение ячеек строки для ввода числа занятия}
Range(Cells(1, L + 3), Cells(1, L + 3)).ClearComments {Удаление примечания}
Range(Cells(1, L + 3), Cells(1, L + 3)).AddComment {Добавление примечания}
Range(Cells(1, L + 3), Cells(1, L + 3)).Comment.Visible = False {Примечание будет видимым только при наведении мыши}
Range(Cells(1, L + 3), Cells(1, L + 3)).Comment.Text Text:=A {В примечание записывается содержимое переменной A}
Sheets("КТП Математика").Select {Переход на страницу КТП Математика}
Next L {Конец цикла}
Worksheets("Математика").Visible = False {Делает лист Математика скрытым}
End Sub
Кнопки служащие для перехода по страницам журнала создаются способом, описанным в пункте 2)
4 Создание отчета по проведенным часам
Отчет по проведенным часам будет состоять из таблицы, столбцы которой будут называться По плану, Провел, Осталось. В данных столбцах будут отображаться количество часов, соответствующее государственному стандарту, количество проведенных и оставшихся часов по каждому из предметов. Строки будут включать в себя названия предметов. Последняя строка будет итоговой по всем предметам.
Примерный вид данной таблицы показан на рисунке 5.
Формула в ячейках столбца Провел будет иметь следующий вид:
=СЧЁТ(Лист!E1:BD1),
где вместо слова Лист будет имя листа с соответствующим предметом. Функция счет считает количество непустых ячеек из диапазона строки с числами занятий.
Формула в ячейках столбца Осталось имеет вид =B5-C5. Из ячейки По плану вычитаем значение ячейки Провел.
В последнюю строку вставляем формулу =СУММ(B5:B10), которая считает сумму значений ячеек по всем предметам.
Рисунок 5. Отчет по проведенным часам
Кнопка Содержание осуществляет переход на главную страницу. Оформляется способом, описанным в пункте 2.
5 Создание отчета успеваемости
Основная функция данного отчета показать сведения об успеваемости и посещаемости конкретного ученика. Отчет включает в себя таблицу в строках которой записаны названия предметов. Второй столбец будет содержать оценки по каждому предмету. Последняя строка подсчитывает количество пропусков по всем предметам. На листе так же присутствует элемент управления раскрывающееся меню со списком учащихся и кнопки Сформировать отчет и Содержание.
Примерный вид данного отчета показан на рисунке 6.
Рассмотрим этап создания раскрывающегося меню:
Выбираем инструмент элементы управления → раскрывающееся меню и вставляем данный элемент на страницу.
Добавим в меню список учащихся. Щелчком правой кнопки выбираем пункт формат объекта. В открывшимся окне в поле формировать список по диапазону вводим Математика!$B$3:$B$25, то есть формируем список из списка учеников. В поле Связь с ячейкой вводим $J$1. Данная связь понадобиться нам в написании макроса. Но чтобы пользователь не видел дополнительную надпись, нужно ее замаскировать, изменив цвет текста на белый.
Рисунок 6. Отчет по успеваемости
Создадим кнопку Сформировать отчет и назначим ей следующий макрос.
Sub Отчет_по_успеваемости()
S = Range(Cells(1, 11), Cells(1, 11)).Text {Переменной S присваиваем значение замаскированной ячейки}
Worksheets("Математика").Visible = True {Показывает лист Математика}
Sheets("Математика").Select {Переход на лист Математика}
DDD = "" {Переменная DDD будет хранить оценки по предмету}
A = 0 {A считает количество пропусков}
B = Range(Cells(3, 2), Cells(53, 2)).Count {Переменной B присваивается значение равное количеству учащихся}
For i = 3 To B + 2 {Данный цикл перебирает фамилии учащихся и когда находит нужную фамилию перебирает его оценки и пропуски. Оценки заносятся в переменную DDD, пропуски в A. Данных циклов в программе будет несколько и равно количеству предметов}
If Range(Cells(i, 2), Cells(i, 2)).Text = S Then
For j = 5 To 60
If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "н" Then
A = A + 1
ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "" Then
Else
DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + ", "
End If
Next j
Sheets("Отчет по успеваемости").Select
Range(Cells(4, 2), Cells(4, 2)).FormulaR1C1 = DDD {Запись оценок по первому предмету в отчет}
End If
Next i
Worksheets("Информатика").Visible = True
Worksheets("Математика").Visible = False
Sheets("Информатика").Select
DDD = "" {Очищаем переменную DDD для записи в нею оценок по второму предмету}
For i = 3 To B + 2
If Range(Cells(i, 2), Cells(i, 2)).Text = S Then
For j = 5 To 60
If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "н" Then
A = A + 1
ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "" Then
Else
DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + ", "
End If
Next j
Sheets("Отчет по успеваемости").Select
Range(Cells(5, 2), Cells(5, 2)).FormulaR1C1 = DDD
End If
Next i
Worksheets("Русский язык").Visible = True
Worksheets("Информатика").Visible = False
Sheets("Русский язык ").Select
DDD = ""
For i = 3 To B + 2
If Range(Cells(i, 2), Cells(i, 2)).Text = S Then
For j = 5 To 60
If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "н" Then
A = A + 1
ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "" Then
Else
DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + ", "
End If
Next j
Sheets("Отчет по успеваемости").Select
Range(Cells(6, 2), Cells(6, 2)).FormulaR1C1 = DDD
End If
Next i
Worksheets("Физика").Visible = True
Worksheets("Русский язык").Visible = False
Sheets("Физика").Select
DDD = ""
For i = 3 To B + 2
If Range(Cells(i, 2), Cells(i, 2)).Text = S Then
For j = 5 To 60
If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "н" Then
A = A + 1
ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "" Then
Else
DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + ", "
End If
Next j
Sheets("Отчет по успеваемости").Select
Range(Cells(7, 2), Cells(7, 2)).FormulaR1C1 = DDD
End If
Next i
Worksheets("Химия").Visible = True
Worksheets("Физика").Visible = False
Sheets("Химия").Select
DDD = ""
For i = 3 To B + 2
If Range(Cells(i, 2), Cells(i, 2)).Text = S Then
For j = 5 To 60
If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "н" Then
A = A + 1
ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "" Then
Else
DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + ", "
End If
Next j
Sheets("Отчет по успеваемости").Select
Range(Cells(8, 2), Cells(8, 2)).FormulaR1C1 = DDD
End If
Next i
Worksheets("История").Visible = True
Worksheets("Химия").Visible = False
Sheets("История").Select
DDD = ""
For i = 3 To B + 2
If Range(Cells(i, 2), Cells(i, 2)).Text = S Then
For j = 5 To 60
If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "н" Then
A = A + 1
ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = "" Then
Else
DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + ", "
End If
Next j
Sheets("Отчет по успеваемости").Select
Range(Cells(10, 2), Cells(10, 2)).FormulaR1C1 = A {Запись пропусков в отчет}
Range(Cells(9, 2), Cells(9, 2)).FormulaR1C1 = DDD
End If
Next i
Worksheets("История").Visible = False
End Sub
Кнопка Содержание осуществляет переход на главную страницу. Оформляется способом, описанным в пункте 2.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Microsoft Office Excel 2003. Учебный курс / В. Кузьмин, СПб.: Питер; Киев: Издательская группа BHV, 2004 493 с
Гарнаев А. Ю., Использование MS Excel и VBA в экономике и финансах. СПб.: БХВ - Санкт-Петербург, 2000 336 с
Информатика. Базовый курс. 2-е издание / Под. Ред. С.В. Симоновича. СПб.: Питер, 2005 – 640 с.: ил.
Информатика: Общий курс: учебник / под. ред. академика РАН В.И. Колесникова. М.: Наука Пресс, 2007 400 с.
Использование макросов в Excel. 2-е изд. / С. Роман. СПб.: Питер, 2004 507 с
Камминг С., VВА для "чайников", 3-е издание. : Пер. с англ. М. : Издательский дом "Вильямc", 2001 448 с
Куприянова А.В., Корнеев В.Н., Excel 2007. Просто о сложном / Наука и техника, СПб. – 2008
Струченков В.И. Методы оптимизации в прикладных задачах / Солон-Пресс, Москва – 2009
Хелдман К., Хелдман У., Excel 2007. Руководство менеджера проекта / Ким Хелдман, Уильям Хелдман. М.: Эксмо, 2008 448 с.
Хорев В. Д., Самоучитель программирования на VBA в Microsoft Office / К.: Юниор/2001 320 с.
Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ