Макросы в ExcelРефераты >> Программирование и компьютеры >> Макросы в Excel
· Введите в поле ввода Имя макроса название создаваемого макроса — Заголовок. В поле ввода Описание введите текст: Вводит названия компьютеров.
· Нажмите кнопку Параметры. Появится окно диалога “Запись макроса”.
· Введите наименование добавляемого пункта меню: Типы ЭВМ. Нажмите кнопку OK.
· Выполните последовательность действий, которую будет выполнять макрос: введите заголовок таблицы: Тип компьютера; нажмите клавишу Enter; введите тип 1 компьютера CP_35_SR и нажмите клавишу Tab. Аналогично введите следующие типы компьютеров CP_40_SR, CP_55_LS, CP_55_SX. Выделите четыре ячейки с введенными типами компьютеров, выберите команду Формат | Столбец, а затем команду Подгон ширины (поскольку названия типов компьютеров не умещаются полностью в ячейке).
· Нажмите на кнопку Остановить макрос.
После окончания записи макроса в меню команды Сервис появится пункт с названием Типы ЭВМ, которое мы ввели на 4 шаге.
Для выполнения макроса “Заголовок” нужно нажать кнопку мыши на пункте с названием Типы ЭВМ. В том месте таблицы, где расположен курсор, появится заголовок следующего вида: Тип компьютера CP_35_SR CP_40_SR CP_55_LS CP_55_SX
Этот макрос отличается от макроса, созданного в примере №1 тем, что заголовок таблицы можно поместить в любом месте текущей рабочей книги.
Редактирование макросов
В этом разделе мы рассмотрим вопросы изменения текста макроса, его удаления и переименования. Здесь же будет рассказано о том, как записать новую последовательность действий в уже существующий макрос.
Одним из способов внесения изменений в записанный макрос является запись нового макроса. Однако это не всегда удобно, а часто бывает и утомительно из-за большого объема работы. В следующем примере мы изменим формат вводимых чисел в макросе “Число”.
Пример 3. Редактирование текста макроса
В этом примере вам предстоит изменить текст макроса.
Для входа в режим редактирования макроса выполните команду Сервис | Макрос. Появляется окно диалога “Макрос”, в котором после выбора нужного для редактирования макроса становятся доступными кнопки, в том числе кнопка Редактирование.
Редактировать можно и непосредственно в модуле с текстом макроса. Текст макроса “Число” расположен в модуле 1, расположенном после 16 листа рабочей книги. Используя кнопки прокрутки листов найдите модуль 1 и нажмите кнопку мыши на его ярлычке. Перед вами появится текст макроса “Число”, записанный на языке Visual Basic:
Число Макрос Форматный код “# #??” Быстрый вызов: Ctrl+x
Sub Число()
Selection.NumberFormat = “# #??”
End Sub
Первые две строки составляют комментарий, последующие — текст макроса. Редактирование сводится к тому, что вместо форматного кода “# #??” вводится форматный код “# #??,00”.
Действуя аналогичным образом, вы можете внести более серьезные изменения в текст макроса. Фактически вы имеете возможность изменять текст программы Visual Basic, реализующий макрос. Это открывает перед вами большие возможности в написании собственных программ.
Удаление макросов
Если макрос назначен клавише быстрого доступа, графическому объекту или кнопке, то процесс удаления является стандартным. Вы выбираете опцию Макрос пункта Сервис основного меню. Появляется окно диалога “Макрос”, содержащее список макросов текущей рабочей книги. После выбора макроса, который вы предполагаете удалить, станут доступными кнопки окна диалога “Макрос”, в том числе кнопка Удалить. Для удаления выбранного макроса вам достаточно нажать эту кнопку.
Макрос можно удалить и другим способом. Если макрос записан в отдельном модуле, то нужно удалить модуль. Для этого нужно сделать его активным, а затем нажать правую кнопку мыши на его ярлычке. Появится окно диалога, в котором нужно выбрать команду Удалить. Если модуль содержит и другие макросы, то нужно выделить весь текст удаляемого макроса и нажать клавишу Del на клавиатуре.
Объекты, которым был назначен макрос, удаляются из режимов редактирования этих объектов.
Определенную трудность представляет процесс удаления строк с названиями макросов из пункта Сервис основного меню. Для их удаления вы можете использовать окно диалога “Редактор меню”, которое открывается нажатием кнопки Редактор меню, расположенной на панели инструментов “Visual Basic”. Вы можете выбрать требующийся пункт меню из списка Меню. При этом в следующем списке Элементы меню появляются опции этого пункта меню. Вы можете выбрать и удалить нужную строку нажатием кнопки Удалить.
Кнопка Сброс окна диалога восстанавливает стандартное состояние всех пунктов основного меню Excel.
После нажатия кнопки Сброс восстановить ранее сделанные в пункты меню назначения с помощью клавиш Ctrl+Z невозможно. Можно только закрыть файл без сохранения всех сделанных изменений, а затем открыть его снова.
Окно диалога “Редактор меню” можно вызвать и без использования кнопки Редактор меню. Для этого нужно выполнить следующие действия:
· Сделайте активным какой-нибудь модуль. Если в рабочей книге нет ни одного макроса, то создайте какой-нибудь макрос (например, не выполняющий никаких действий).
· Выберите пункт Сервис текущего меню. Появится ниспадающее меню, в котором присутствуют дополнительные опции, одной из которых является Редактор меню
· Установите курсор на команду Редактор меню и нажмите клавишу Enter. Появится требуемое окно диалога.
Не создавайте макрос, восстанавливающий пункты меню. Делайте эту работу вручную и вы избежите неприятностей, связанных с потерей информации.
Переименование макроса
Специальной команды для переименования макроса нет, а часто возникает потребность исправить имя или присвоить макросу совершенно новое наименование. Для этого нужно войти в режим редактирования макроса и в тексте программы исправить заголовок.
Пример 4. Изменение имени макроса
Изменим имя макроса “Месяцы” на “Месяцы_с_абсолютными_адресами”. Для этого войдите в режим редактирования макроса “Месяцы”. Ниже расположен текст программы.
Месяцы Макрос Быстрый вызов: Ctrl+o
Sub Месяцы()
ActiveCell.FormulaR1C1 = “январь”
Selection.AutoFill Destination:=ActiveCell.Range(“A1:A12”); _
Type:=xlFillDefault
ActiveCell.Range(“A1:A12”).Select
End Sub
Первая строка является комментарием. Заменим “Месяцы” на “Месяцы_с_абсолютными_адресами”. Соответствующим образом изменим комментарий. В результате получим новый текст программы макроса:
'Месяцы_с_абсолютными_адресами Макрос Быстрый вызов: Ctrl+o
Sub Месяцы_с_абсолютными_адресами()
ActiveCell.FormulaR1C1 = “январь”
Selection.AutoFill Destination:=ActiveCell.Range(“A1:A12”); _
Type:=xlFillDefault
ActiveCell.Range(“A1:A12”).Select
End Sub
Новое имя автоматически заменит старое в списках макросов. По клавише быстрого вызова будет вызываться макрос с новым именем. Но не все замены происходят автоматически. Если ваш макросу были назначены графические объекты или кнопки, то вам нужно будет самим сделать для них переназначения.