Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика учебник.doc
Скачиваний:
89
Добавлен:
04.11.2018
Размер:
3.46 Mб
Скачать

Глава 11. Примеры реализации различных макросов и фрагментов программ

11.1. Варианты реализации макросов

11.1.1. Порядок создания макросов в Excel

  1. Прежде всего, надо обдумать и записать, какие действия должен выполнять создаваемый макрос.

  2. Записать – по п у н к т а м ! – порядок выполнения всех действий, которые будут зафиксированы в макросе.

  3. Заранее определиться:

  • с именем РК, в которой он будет сохранён,

  • с его собственным названием,

  • с сочетанием клавиш "быстрого вызова" макроса (если он должен вызываться часто),

  • выбрать, г д е он будет сохраняться:

- в "Личной книге макросов",

- в "Новой книге",

- в"Этой книге" (имеется в виду та РК, в которой вы будете создавать макрос).

  1. Теперь можно начинать работу по созданию и записи макроса:

  • Открыть пустую РК, активизировать РЛ (например, Лист1),

  • Переименовать РЛ и сохранить РК под назначенным ранее именем,

  • Установить курсор в произвольную ячейку РЛ,

  • Выполнить: Сервис – Макрос – Начать запись,

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

  • В заключение, когда всё сделано, выполнить

Сервис – Макрос – Остановить запись,

  1. Для проверки работы макроса:

Сервис – Макрос – Макросы – выбрать название нужного макроса – Выполнить.

  1. Если нужно просмотреть, изменить или дополнить код (текст) программы макроса, то

Сервис – Макрос – Макросы – выбрать название нужного макроса – Войти / Изменить.

Произойдёт переход в редактор VBA, где код программы будет выведен в окно Code.

ПРИМЕЧАНИЕ 9: если в данной РК будут храниться н е с к о л ь к о макросов, то в ячейке А1 весьма целесообразно разместить п р и м е ч а н и е, в котором для каждого макроса ввести название и "горячие" клавиши для его быстрого вызова. Тогда по прошествии времени не придётся гадать, есть ли макросы в этой книге и какие именно.

11.1.2. Задания на создание макросов в Excel

Задание 1: для начала попробуйте создать простейший макрос, который в РК "Работа с ячейками" только один раз перемещал бы курсор из произвольной ячейки РЛ Лист1 в заданную ячейку F7 и окрашивал бы её в синий цвет (внутренний код синего цвета – 23).

Задание 2: находясь в произвольной ячейке РЛ Лист1 последовательно задать на нём заливку:

- ячейки E5 - в жёлтый цвет,

- ячейки F5 - в зелёный цвет,

- ячейки G5 - в красный цвет,

- ячейку H5 – оставить без заливки и прекратить работу макроса.

Выбрать для него название "ЦветаЯчеекE5_F5_G5отмена_H5" и задать "горячие" клавиши Ctrl+W.

Решение. После выполнения всех этих действий в процессе записи макроса "ЦветаЯчеекE5_F5_G5отмена_H5" вы должны получить макрос, код которого приведён ниже:

Sub ЦветаЯчеекE5_F5_G5отмена_H5()

'

' ЦветаЯчеекE5_F5_G5отмена_H5 Макрос

' Макрос записан 02.05.2009 (MINI_CORP)

'

' Сочетание клавиш: Ctrl+w

'

Range("E5").Select ' выбрать ячейку E5

With Selection.Interior ' для выбранного назначить

двойное свойство

.ColorIndex = 6 ' Interior.ColorIndex = 6 (жёлтый цвет)

.Pattern = xlSolid ' образец заливки = сплошной

End With ' конец для выбранного

Range("F5").Select

With Selection.Interior

.ColorIndex = 4 4 – зелёный цвет

.Pattern = xlSolid

End With пояснения аналогичны

Range("G5").Select

With Selection.Interior

.ColorIndex = 3 3 – красный цвет

.Pattern = xlSolid

End With

Range("H5").Select '

Selection.Interior.ColorIndex = xlNone ' xlNone - без цвета

End Sub

Рис. 11.1 Текст (код) макроса "ЦветаЯчеек…"

Теперь этот макрос можно запустить тремя способами:

  1. СервисМакросМакросы – выбрать имя макроса из списка – Выполнить,

  2. из среды редактора Visual Basic, нажав клавишу F5,

  3. из Excel (если редактор VBA закрыт) нажатием Ctrl+W.

Запустите макрос на исполнение и проанализируйте результат.

Задание 3. Усложним работу, добавив в задание 2 требование не только окрасить ячейки в нужные цвета, но и оформив их тонкими рамками.

Если вы правильно выполните заданное, то в новом макросе "Цвета_и_рамки_ячеек" вы увидите новые операторы и свойства:

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

Рис. 11.2. Фрагмент кода макроса "Цвета_и_рамки_ячеек"

Все они связаны с о б р а м л е н и е м ячеек р а м к а м и. К прежним пояснениям теперь добавим:

Selection.Bordersвыбор обрамления,

xlDiagonalDownдиагональ сверху вниз, (xlDiagonalUpдиагональ снизу вверх),

LineStyleстиль (тип) линии, xlNoneнет

Edgeкромка, Left, Right, Top, Bottomслева, справа, сверху, снизу,

Weight- толщина (линии), Thin - тонкий

Остаётся заметить, что подобные конструкции сопровождают выбор каждой ячейки. Так что длина кода существенно увеличилась.

Задание 4. Попробуйте теперь выполнить пример из п. 8.2 главы 8 (стр. 158). Старайтесь не отступать от предлагаемых там рекомендаций.