Поскольку обучение программированию — это тема для отдельной книги, в этом разделе мы только выполним простое упражнение, показывающее, как записать макрос, назначить его кнопке и выполнить.
1. Создайте новый лист Excel.
2. Щелчком на кнопке Рисование стандартной панели инструментов выведите на экран панель рисования.
3. Нарисуйте овал и поместите его вплотную к левому краю таблицы.
4. Выберите команду Сервис ► Макрос ► Начать запись. В выведенном на экран диалоговом окне посмотрите на имя макроса, оно должно быть Макрос!. Ничего не изменяя в параметрах диалогового окна, щелкните на кнопке ОК. На экран будет выведена панель остановки записи.
5. Щелкните на овале, чтобы его выделить, затем в палитре инструмента Цвет заливки выберите красный цвет.
6. Щелкните на кнопке Остановить запись панели записи макроса. Вы записали макрос, закрашивающий овал красным цветом.
7. Выберите команду Сервис ► Макрос ► Начать запись. В выведенном на экран диалоговом окне посмотрите на имя макроса, оно должно быть Макрос2. Ничего не изменяя в параметрах диалогового окна, щелкните на кнопке ОК.
8. Щелкните на овале, чтобы его выделить, затем в палитре инструмента Цвет заливки выберите желтый цвет.
9. Щелкните на кнопке Остановить запись панели записи макроса. Вы записали макрос, закрашивающий овал желтым цветом.
10. Для того чтобы увидеть, что представляют собой записанные макросы, нужно выбрать команду Сервис ► Макрос ► Макросы —откроется диалоговое окно Макрос. В списке макросов этого окна выберите один из макросов и щелкните на кнопке Изменить. На экран будет выведена окно среды Visual Basic с текстом записанного макроса. Текст записанного макроса должен выглядеть примерно так:
Sub Макрос2 ()
ActiveSheet.Shapes ("Ova 1 32").Select
Selection.ShapeRange.Fill.ForeCol o r.SchemeColor = 13
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
End Sub
11. Чтобы воспользоваться записанным макросом, мы можем назначить его сочетанию клавиш или элементу управления, например, кнопке. Для этого выберите команду Вид ► Панели инструментов ► Элементы управления. На панели инструментов, которая будет выведена на экран, щелкните на элементе Кнопка, а затем — на листе Excel. Кнопка будет помещена на лист. Повторите операцию, поместив на лист вторую кнопку.
12. Щелкните на первой кнопке правой кнопкой мыши, в контекстном меню выберите команду Объект Кнопка ► Изменить и отредактируйте текст на кнопке, удалив содержимое и вместо него введя слово Красный. То же самое проделайте со второй кнопкой, только дайте ей название Желтый. То, что у вас к этому времени должно получиться, показано на рис. 10.8.
Рис. 10.8. Кнопки на листе Excel
13. Для того чтобы назначить кнопке макрос, дважды щелкните на
ней мышью. В окне среды Visual Basic появится текст програм
мы, реагирующий на щелчок. Пока это две строчки, между кото
рыми — пустота. Заполните эту пустоту, введя второй по счету
строкой имя Макрос!. Окончательно команда должна выглядеть так:
Private Sub CommandButtonl_Click()
Макрос1 End Sub
14. Повторите предыдущий шаг для второй кнопки, введя второй строкой имя Макрос2.
15. Вернитесь на лист Excel. Последний штрих — щелкните на кнопке Выход из режима конструктора. Это единственная кнопка на отдельной панели инструментов, появившейся на экране, когда мы расположили на листе нашу первую кнопку. Кнопка Выход из режима конструктора сейчас должна находиться в нажатом состоянии, «отожмите» ее. Это переведет все элементы управления в таблице (обе кнопки) из режима редактирования в режим выполнения. Теперь щелчок на кнопке Красный закрашивает овал в красный цвет, а щелчок на кнопке Желтый — в желтый.
Фильтр
Команды этого подменю предоставляют широкие возможности по отбору нужных данных путем задания самых замысловатых условий в разнообразных комбинациях. В этом подменю Фильтр две команды фильтрации: Автофильтр и Расширенный фильтр. Команда Автофильтр вводит инструменты фильтрации прямо в имеющийся набор данных, позволяя устанавливать фильтр и убирать его, тем самым отображая все или только отфильтрованные записи. Команда Расширенный фильтр позволяет скопировать выбранные на основе заданного фильтра данные на другой лист или в другой диапазон и там с ними работать, оставив основные данные без изменения.