Макросы в Excel

Запись в существующий макрос новых действий

Если вы хотите добавить в макрос новые действия, то вам нужно включить соответствующий режим записи макроса. Для этого выполните следующие действия:

Сделайте активным модуль, в котором находится макрос.

В тексте программы установите курсор в место ввода новых действий.

Выполните команду Сервис | Запись макроса | Отметить позицию. Теперь ваши действия при записи макроса будут записываться в программу с того места, где вы установили курсор.

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

Выполните команду Сервис | Запись макроса | Записать с отметки. Начиная с этого момента все ваши действия будут записываться в макрос.

Выполните все дополнительные действия макроса.

Нажмите на кнопку Остановить запись.

Рассмотрим конкретный пример добавления новых записей.

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

Пример 5. Внесение изменений в существующий макрос

Внесем изменения в макрос “Заголовок”, который был записан в примере 6.2. Изменения будут касаться формата заголовка. Расположим заголовок “Типы компьютеров” в центре строки над названиями типов и введем другой шрифт для заголовка.

Приведем текст программы, реализующий макрос “Заголовок” и укажем место расположения курсора строкой с комментарием “‘место установки курсора”.

Заголовок Макрос назначен пункт меню Сервис “Тип ЭВМ”

Sub Заголовок()

ActiveCell.FormulaR1C1 = “Тип компьютера”

ActiveCell.Offset(1; 0).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_35_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_40_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_LS”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_SX”

ActiveCell.Offset(0; -3).Range(“A1:D1”).Select

ActiveCell.Activate

Selection.Columns.AutoFi

'место установки курсора

End Sub

Для внесения новых записей в макрос “Заголовок” выполните следующие действия:

· Удалите комментарий в предпоследней строке программы и поместите там указатель.

· Для того чтобы определить позицию, с которой будут записываться новые действия, выполните первые 5 шагов алгоритма внесения изменений в макрос.

· Перед тем как выполнить 6 шаг алгоритма внесения изменений в макрос, запустите макрос “Заголовок”. Это позволит вам определить положение курсора на рабочем листе, где будут вноситься новые действия.

· Выполните 6 шаг алгоритма внесения изменений в макрос. Все последующие действия будут записаны.

· Выделите четыре ячейки, включающие заголовок “Тип компьютера”.

· Вызовите окно диалога “Формат ячейки”, нажав Ctrl+1.

· Выберите вкладку “Выравнивание”, в которой установите флажок Центрировать по выделению. Таким образом мы поместим заголовок в середину строки.

· Выберите вкладку “Шрифт”, в которой установите стиль Italic и размер шрифта 16. Нажмите кнопку OK, чтобы выйти из режима форматирования ячейки.

· Нажмите кнопку Остановить макрос.

После завершения записи новых действий в макрос “Заголовок” мы получили новый текст программы:

Заголовок Макрос назначен пункт меню Сервис “Тип ЭВМ”

Sub Заголовок()

ActiveCell.FormulaR1C1 = “Тип компьютера”

ActiveCell.Offset(1; 0).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_35_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_40_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_LS”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_SX”

ActiveCell.Offset(0; -3).Range(“A1:D1”).Select

ActiveCell.Activate

Selection.Columns.AutoFit

ActiveCell.Offset(-1; 0).Range(“A1:D1”).Select

With Selection

.HorizontalAlignment = xlCEnterAcrossSelection

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = xlHorizontal

End With

With Selection.Font

.Name = “TimesET”

.FontStyle = “Italic”

.Size = 16

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlNone

.ColorIndex = xlAutomatic

End With

End Sub

Перед последним оператором программы осталась пустая строка. Вы можете удалить ее.

Теперь результат работы макроса “Заголовок” имеет следующий вид:

Тип компьютера

CP_35_SR CP_40_SR CP_55_LS CP_55_SX

Назначение макроса

Назначение макроса графическому объекту

Макрос может вызываться не только нажатием клавиш быстрого вызова, но и нажатием кнопки мыши на графическом объекте. В этом разделе рассказывается о том, как организовать такой вызов макроса.

Для назначения макроса графическому объекту необходимо наличие такого объекта на экране. Представлены три графических объекта, которым назначены макросы.

Для создания графических объектов была вызвана панель инструментов “Рисование”. Для этого необходимо выполнить команду Вид | Панели инструментов, а затем в окне диалога “Панели инструментов” установить флажок на строке Рисование.

Для вызова списка панелей вы можете нажать правую кнопку мыши на любой панели инструментов.

Чтобы нарисовать закрашенный овал или прямоугольник, нажмите кнопку мыши на соответствующем рисунке на панели “Рисование”. Вам будет предложено выбрать место для объекта. Поместите указатель мыши в нужное место таблицы и, удерживая нажатой кнопку мыши, нарисуйте объект — прямоугольник или овал.

Для выбора заливки объекта нажмите правую кнопку мыши на активном объекте. Появится меню, в котором выберите пункт Формат объекта. Появится окно диалога “Форматирование объекта”, в котором выбирается цвет и вид заливки.

Надписи на объектах создаются следующим образом:

Нажмите кнопку Текстовое поле на панели инструментов “Рисование”.

Удерживая нажатой кнопку мыши, выделите место для текста.

Введите требуемый текст и нажмите кнопку мыши вне текстового окна. Это необходимо сделать для того, чтобы войти в режим выравнивания текста внутри текстового окна.

Нажмите правую кнопку мыши на текстовом окне. Появится меню, в котором выберите пункт Формат объекта. В результате появится окно диалога “Форматирование объекта”, в котором перейдите на вкладку “Выравнивание”.

Установите переключатели вертикального и горизонтального выравнивания в положение по центру и выберите вкладку “Шрифт”.

Установите стиль и размер шрифта и нажмите клавишу OK.

Нажатие Enter при вводе текста не завершает ввод, а лишь переводит на следующую строку.

Вы получили надпись на объекте. Обратите внимание, что надпись “Заголовок” сделана под графическим объектом “прямоугольник”. После того как было найдено удачное расположение надписи на объекте, была нажата кнопка На задний план, расположенная на панели инструментов “Рисование” и текст оказался под объектом.


Страница: