Создание интерактивных тестов в MS Excel
Программа MS Excel помимо своего основного назначения для работы с большим количеством данных также может быть использована для создания интерактивных тестов для контроля знаний – благо, что Excel содержит большое количество различных функций, в том числе и логических.
А благодаря простоте создания (записи) макросов можно придать тестам интерактивность, даже абсолютно не зная Visual Basic – языка, на котором они пишутся.
Поэтому хочу предложить один из вариантов теста с использованием макросов. Как обычно процедуру создания теста опишем по шагам.
Итак, начнем.
ШАГ 1.
В начале, естественно, надо придумать тест и написать его например на бумаге (или в Worde, Excel , блокноте …), причем количество ответов можно задавать произвольно для каждого вопроса, но лучше не менее 4, иначе вероятность «сдать» тест минимум на 3 становится чуть ли не 100% - ной.
ШАГ 2.
Откроем Excel и переименуем листы книги:
Лист1 – «Начало»
Лист2 – «Тест»
Лист3 – «Результат»
На листе «Начало» выделим все ячейки и зададим им какой – то цвет фона (ФОРМАТ ЯЧЕЙКИ – ВИД), либо сделаем подложку для листа с рисунком ( ФОРМАТ – ЛИСТ – ПОДЛОЖКА)
Аналогично раскрасим и листы «Тест» и «Результат»

ШАГ 3.
Нарисуем на листе «Начало» кнопку - НАЧАТЬ. Точнее говоря это будет на кнопка, а всего лишь рисунок, сделанный, например, с помощью автофигур с панели Рисование. (В дальнейшем этот рисунок станет действующей кнопкой, но после того, как мы назначим ему макрос)
ШАГ 4.
Перейдем на лист «Тест» и создадим там вопросы с вариантами ответов
Рассмотрим для одного вопроса (Вопрос 1):
В ячейке С3 пишем номер вопроса
В ячейке D3 пишем сам вопрос
В ячейке Е3 необходимо задать список вариантов ответа

Для этого встаем в Е3 и заходим в меню ДАННЫЕ – ПРОВЕРКА, где выбираем СПИСОК и в поле ИСТОЧНИК впечатываем через двоеточие варианты ответов.

Нажимаем ОК и список ответов готов – при нажатии на ячейку Е3 будет появляться кнопка, которая раскрывает список ответов и дает возможность выбрать один из них:

Дальше переходим в ячейку F3 и запишем там логическую формулу :
F3 = ЕСЛИ(Е3=”program”;”верно”;”неправильно”) – это означает, что если в ячейке Е3 выбран правильный ответ, то в ячейке F4 выведем слово «верно», иначе выведем «неправильно»

Переходим в ячейку G3, где запишем формулу: =ЕСЛИ(F3="верно";1;0)
Понятно, что в этой ячейке будет значение 1, если ответ верный и 0 – если неправильный. (Это понадобится на следующем листе для подсчета количества верных ответов)

Точно так же мы создадим все 10 вопросов.
Наконец на этом листе нарисуем 2 кнопки : очистить и результат
ШАГ 5.
Перейдем на лист «РЕЗУЛЬТАТ»

Скопируем с листа ТЕСТ столбцы с номерами вопросов и самими вопросами (у меня они соответственно в столбиках С и D.
В столбце Е запишем правильные ответы.
В столбце F будем выводить те ответы, которые выбраны тестируемым, поэтому, например, в ячейке F3 будет формула F3 = тест! Е3 (т. е. здесь отображаются ответы, выбранные на листе ТЕСТ – это для сравнения с правильным ответом)
В ячейке G3 сделаем ссылку на лист ТЕСТ : =тест!F3 (т. е. здесь будет сообщение о том, правильно или неправильно выбран ответ)
Аналогично заполним все остальные ячейки
Нарисуем две кнопки: СНОВА (для повторения теста) и ВЫХОД (для выхода из теста)
В столбце I сделаем две надписи для контроля выполнения теста: ВСЕГО и ВЕРНО
Рядом в столбике J напортив ВСЕГО запишем: 10 (это количество вопросов теста), а напротив ВЕРНО – формулу =СУММ(тест! G3:G21) – т. е здесь будут суммироваться единицы правильных ответов с листа ТЕСТ
ШАГ 6.
Осталось создать макросы и назначить их кнопкам.
Начнем с кнопки НАЧАТЬ на листе НАЧАЛО.
При нажатии на эту кнопку должен открыться лист с вопросами теста (ТЕСТ), содержимое столбца Е с правильными ответами очиститься и выделиться ячейка Е3, чтобы была видна кнопка для выбора первого ответа.
Заходим в меню СЕРВИС – МАКРОС – НАЧАТЬ ЗАПИСЬ. Даем макросу имя и ОК.
И пошла запись макроса, т. е. все, что мы сейчас делаем, будет записано в коде VBA
После этого открываем лист ТЕСТ, выделяем там ячейки Е3 – Е21, нажимаем Delete для очистки содержимого и щелкаем по ячейке Е3 для ее выделения.
Макрос записан. Останавливаем запись.
Кому интересно, можно посмотреть код. Он будет таким:
Sub нач()
'
' нач Макрос
' Макрос записан 05.02.2007 (User)
'
'
Sheets("тест").Select
Range("E3:E21").Select
Selection. ClearContents
Range("E3").Select
End Sub
Назначим этот макрос кнопке НАЧАТЬ. Для этого щелкаем по ней правой и выбираем НАЗНАЧИТЬ МАКРОС:

В появившемся окне выбираем наш макрос и ОК – макрос назначен.

Кнопка (а это уже кнопка, а не автофигура) стала действовать. Если кнопка не действует, то, скорее всего уровень безопасности Excel стоит высокий. Тогда заходим СЕРВИС – МАКРОС – БЕЗОПАСНОСТЬ и ставим низкий уровень безопасности.
Переходим на лист ТЕСТ и там надо создать 2 макроса для кнопок ОЧИСТИТЬ И РЕЗУЛЬТАТ.
Создаем макрос ОЧИСТИТЬ. Запускаем запись макроса, выделяем столбец с выбранными вариантами ответов и нажимаем Delete. Останавливаем запись макроса, затем назначаем его кнопке очистить.
В коде это выглядит так:
Sub очистить()
'
' очистить Макрос
' Макрос записан 04.02.2007 (User)
'
'
Range("E3:E21").Select
Selection. ClearContents
Range("E3").Select
End Sub
Создаем макрос РЕЗУЛЬТАТ. Включаем запись, затем переходим на лист РЕЗУЛЬТАТ. Останавливаем запись и назначаем этот макрос кнопке РЕЗУЛЬТАТ.
И вот его код:
Sub результат()
'
' результат Макрос
' Макрос записан 04.02.2007 (User)
'
'
Sheets("Результат").Select
End Sub
Переходим на лист РЕЗУЛЬТАТ надо создать тоже 2 макроса для возврата к началу теста (кнопка СНОВА) и для выхода из теста (кнопка ВЫХОД)
Для кнопки СНОВА в макросе содержит только действие перехода на лист НАЧАЛО.
Для кнопки ВЫХОД макрос должен перейти на лист НАЧАЛО, а затем сделать завершение работы приложения.
Sub выходной()
'
' выходной Макрос
' Макрос записан 05.02.2007 (User)
'
'
Sheets("начало").Select
Application. Quit
End Sub
Запишем только переход на лист НАЧАЛО, затем откроем макрос и вручную добавим код Application. Quit – завершение работы. Назначим этот макрос кнопке ВЫХОД
В результате при последующем запуске теста он будет открываться с листа НАЧАЛО, что нам и надо, а варианты выбора ответа от предыдущего запуска теста будут очищены, независимо от того ответили мы ДА или НЕТ на вопрос о сохранении изменений при выходе.
ШАГ 7.
И последнее.
Закрепим области, чтобы лист не прокручивался мышкой (ОКНО – ЗАКРЕПИТЬ ОБЛАСТИ)
Уберем ярлычки листов, чтобы нельзя было сразу перейти и посмотреть ответы, уберем сетку, названия столбцов и строк, полосы прокрутки. Все это убираем, заходя в меню СЕРВИС – ПАРАМЕТРЫ:

ВСЕ. Тест готов. Запускаем и пробуем.
В качестве примера в папке приложен тест (лист Excel), который называется ПРИМЕР. Он полностью работоспособен и поможет Вам разобраться.
ЗАКЛЮЧЕНИЕ:
Возможности Excel и простота создания макросов дают возможность разрабатывать самые различные по форме и логике выполнения тесты.
В папке «Другие тесты» есть несколько других вариантов создания тестов в Excel (по материалам Интернет)


