Elettracompany.com

Компьютерный справочник
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Редактор макросов excel

How to dou

Редактирование существующего макроса I vba

Table of Contents:

Нажмите кнопку «Просмотр макросов» на кнопке «Макросы» на вкладке «Вид» или нажмите «Alt + WMV» или «Alt» + F8.

Это действие открывает диалоговое окно «Макро», в котором указаны все имена макросов, которые вы определили в книге и в Личной книге макросов.

Выберите имя макроса, которое вы хотите изменить, в поле «Имя макроса», а затем нажмите кнопку «Изменить».

Это действие открывает редактор Visual Basic с кодом для вашего макроса, отображаемого в окне кода, если вы не выберете имя макроса, сохраненного в книге Personal Macro Workbook, и эта книга по-прежнему скрыта.

В этом случае Excel отображает диалоговое окно «Предупреждение», в котором сообщается, что вы не можете редактировать скрытый макрос и сообщать вам, что вам нужно отобразить эту книгу. Затем вам нужно щелкнуть OK в диалоговом окне «Предупреждение», нажать «Escape», чтобы закрыть диалоговое окно «Макро», и отобразить «Личную книгу макросов».

После того, как у вас есть строки кода для макроса, отображаемого в окне кода в редакторе Visual Basic, вы можете редактировать любые его утверждения по мере необходимости. Если вы хотите получить распечатку строк кода в своем макросе перед началом внесения изменений, выберите «Файл» → «Печать» в строке меню редактора Visual Basic или нажмите Ctrl + P.

Это действие открывает диалоговое окно «Печать — VBAProject» с кнопкой «Текущий модуль», выбранной в разделе «Диапазон» и «Код», выбранном в разделе «Печать», чтобы вы могли продолжить и нажмите «ОК» Excel распечатает все макросы.

При редактировании команд макроса помните, что вы можете использовать команду Edit → Undo (Ctrl + Z), чтобы отменить любое удаление, которое вы делаете по ошибке.

При необходимости отредактируйте инструкции в окне кода редактора Visual Basic.

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

Нажмите кнопку «Просмотреть Microsoft Excel» в начале стандартной панели инструментов или нажмите кнопку минимизации рабочей книги на панели задач Windows.

Выберите подходящее или безопасное место для проверки измененного макроса, а затем запустите его, нажав клавиши быстрого доступа или нажав Alt + F8, щелкнув его в списке Макрос, а затем нажав кнопку «Выполнить».

Если что-то не работает должным образом или макрос не работает вообще, вам нужно вернуться в редактор Visual Basic и найти и исправить ошибки.Нажмите кнопку Visual Basic на вкладке «Разработчик» ленты (Alt + LV), чтобы вернуться к редактору Visual Basic, и попробуйте еще раз отредактировать код.

Если все проверяется и выполняется как запланировано, вам необходимо сохранить изменения, как указано в шаге 5.

Нажмите кнопку «Сохранить» на панели быстрого доступа, чтобы сохранить изменения в модифицированный макрос, если он хранится как часть текущей книги.

Если вы изменили глобальный макрос, сохраненный как часть Personal Macro Workbook, вам нужно выйти из Excel, чтобы сохранить изменения в макросе. Когда вы нажимаете кнопку закрытия окна программы Excel или нажимаете Alt + FX или Alt + F4, Excel отображает диалоговое окно с предупреждением о необходимости сохранения изменений, внесенных вами в личный. xlsb файл.

Нажмите кнопку «Да», чтобы сохранить изменения макроса при закрытии Excel.

Exceltip

Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки

Как написать макрос в Excel — создание, запись и редактирование VBA макросов в Excel

VBA считается стандартным языком написания сценариев для приложений Microsoft, и в настоящее время он входит в состав всех приложений Office и даже приложений других компаний. Следовательно, овладев VBA для Excel, вы сможете сразу перейти к созданию макросов для других программных продуктов Microsoft. Более того, вы сможете создавать полноценные программные продукты, одновременно использующие функции самых разных приложений.

Как включить макросы в Excel

По умолчанию, вкладка, отвечающая за управление и навигацию макросов в Excel, скрыта. Чтобы активировать данную опцию перейдите по вкладке Файл в группу Параметры. В появившемся диалоговом окне Параметры Excel, перейдите по вкладке Настройка ленты, в правом поле со списком ставим маркер напротив вкладки Разработчик. Данные действия актуальны для версий Excel 2010 и старше.

На ленте появиться новая вкладка Разработчик с элементами управления автоматизации Excel.

Написание макросов в Excel

Во вкладке Разработчик в группе Код, нажмите кнопку Запись макроса. Появиться диалоговое окно Запись макроса, которая запрашивает некоторую информацию о будущем записываемом коде. Если вы впервые создаете макрос, можете просто нажать кнопку ОК. С данного момента Excel будет фиксировать каждое действие пользователя в модуле VBA, будь то ввод данных, форматирование или создание диаграмм. Чтобы остановить запись макроса, нажмите кнопку Остановить запись, которая находится в той же группе Код.

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

Теперь вы можете посмотреть список всех созданных макросов, нажав на кнопку Макрос, находящуюся в группе Код. В появившемся диалоговом окне вы можете дать более описательные имена своим кодам или задать сочетания клавиш, которые бы запускали тот или иной макрос. Альтернативным вариантом запуска данного окна является нажатие клавиш Alt + F8.

Читать еще:  Переименовать лист в excel vba

Редактирование макросов

Поздравляю! Вы написали свой первый макрос. Логичным будет проверить теперь, какой же код сгенерировал нам Excel. Сгенерированный код написан на языке VBA (Visual Basic for Applications). Чтобы увидеть его, нужно открыть Редактор VB (VBE), который запускается нажатием клавиш Alt + F11 или кнопкой Visual Basic на вкладке Разработчик.

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

Предлагаю на данном этапе подробнее изучить различные окна и меню редактора VBA. В дальнейшем это поможет вам сэкономить кучу времени.

Для просмотра кода, щелкните по ветке Modules в окне проектов и дважды щелкните по появившейся ветке Module1. Редактор откроет окно с кодом, как изображено на картинке.

Здесь можно редактировать сгенерированный код, который был записан при работе в Excel. К примеру, вам требуется заполнить определенный столбец значениями от 1 до 10. У вас уже есть первые три шага, которые вводят значения 1, 2 и 3 в первые три ячейки столбца А. Нам необходимо дописать оставшиеся семь шагов.

Как создавать, изменять и выполнять макросы в Excel

С помощью макросов можно существенно повысить эффективность обработки и работы с информацией в Эксель благодаря тому, что множество одинаковых действий, которые мы вынуждены повторять, можно оформить в виде специального кода, который возьмет эту заботу на себя. В данном статье мы рассмотрим, каким образом можно создать новый макрос, а также, как изменить существующий.

Создание макросов

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

Чтобы создавать макросы вручную, нужно уметь программировать. Но именно такой способ иногда является единственным или одним из немногих вариантов эффективного решения поставленной задачи.

Метод 1: Записываем макрос в автоматическом режиме

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

Узнать, как это можно сделать, можно в нашей статье – “Как включать и отключать макросы в Excel”.

После того, как макросы включены, можно перейти к нашей основной задаче.

  1. Переключаемся во вкладку “Разработчик”. В группе инструментов “Код” щелкаем по значку “Записать макрос”.
  2. На экране появится окошко, в котором мы можем выполнить настройки записи. Здесь указывается:
    • имя макроса – любое, но должно начинаться с буквы (не с цифры), не допускаются пробелы.
    • комбинация клавиш, которая будет использоваться для запуска макроса. Обязательной является Ctrl, а вторую мы можем назначить в специальном поле. Допустим, пусть это будет клавиша “r”. Если нужно использовать заглавную букву, нужно зажать клавишу Shift, которая будет добавлена в сочетание клавиш.
    • место хранения макроса. Стандартно – это будет текущая книга, но, если требуется, можно выбрать новую книгу или личную книгу макросов. В нашем случае оставляем стандартный вариант.
    • При желании можно добавить описание к макросу.
    • По готовности кликаем OK.
  3. Теперь в созданный макрос будут записываться все действия, которые мы будем выполнить в книге. И так до тех пор, пока мы не остановим запись.
  4. Допустим, давайте давайте в ячейке D2 выполним умножение двух ячеек (B2 и B3): =B2*B3 .
  5. После того, как выражение готово, нажимаем клавишу Enter, чтобы получить результат. Затем останавливаем запись макроса, нажав на значок “Стоп” (появилась вместо кнопки “Записать макрос”) в группе инструментов “Код”.

Запускаем выполнение макроса

Чтобы проверить работу записанного макроса, нужно сделать следующее:

  1. В той же вкладке (“Разработчик”) и группе “Код” нажимаем кнопку “Макросы” (также можно воспользоваться горячими клавишами Alt+F8).
  2. В отобразившемся окошке выбираем наш макрос и жмем по команде “Выполнить”.Примечание: Есть более простой вариант запустить выполнение макроса – воспользоваться сочетанием клавиш, которое мы задали при создании макроса.
  3. Результатом проверки будет повторение ранее выполненных (записанных) действий.

Корректируем макрос

Созданный макрос можно изменить. Самая распространенная причина, которая приводит к такой необходимости – сделанные при записи ошибки. Вот как можно отредактировать макрос:

  1. Нажимаем кнопку “Макросы” (или комбинацию Ctrl+F8).
  2. В появившемся окошке выбираем наш макрос и щелкаем “Изменить”.
  3. На экране отобразится окно редактора “Microsoft Visual Basic”, в котором мы можем внести правки. Структура каждого макроса следующая:
    • открывается с команды “Sub”, закрывается – “End Sub”;
    • после “Sub” отображается имя макроса;
    • далее указано описание (если оно есть) и назначенная комбинация клавиш;
    • команда “Range(“…”).Select” возвращает номер ячейки. К примеру, “Range(“B2″).Select” отбирает ячейку B2.
    • В строке “ActiveCell.FormulaR1C1” указывается значение ячейки или действие в формуле.
  4. Давайте попробуем скорректировать макрос, а именно, добавить в него ячейку B4 со значением 3. В код макроса нужно добавить следующие строки:
    Range(«B4»).Select
    ActiveCell.FormulaR1C1 = «3»
  5. Для результирующей ячейки D2, соответственно, тоже нужно изменить начальное выражение на следующее:
    ActiveCell.FormulaR1C1 = «=RC[-2]*R[1]C[-2]*R[2]C[-2]» .Примечание: Обратите внимание, что адреса ячеек в данной строке (ActiveCell.FormulaR1C1) пишутся в стиле R1C1.
  6. Когда все готово, редактор можно закрывать (просто щелкаем на крестик в правом верхнем углу окна).
  7. Запускаем выполнение измененного макроса, после чего можем заметить, что в таблице появилась новая заполненная ячейка (B4 со значением “3”), а также, пересчитан результат с учетом измененной формулы.
  8. Если мы имеем дело с большим макросом, на выполнение которого может потребоваться немало времени, ручное редактирование изменений поможет быстрее справиться с задачей.
    • Добавив в конце команду Application.ScreenUpdating = False мы можем ускорить работу, так как во время выполнения макроса, изменения на экране отображаться не будут.
    • Если потребуется снова вернуть отображение на экране, пишем команду: Application.ScreenUpdating = True .
  9. Чтобы не нагружать программу пересчетом после каждого внесенного изменения, в самом начале пишем команду Application.Calculation = xlCalculationManual , а в конце – Application.Calculation = xlCalculationAutomatic . Теперь вычисление будет выполняться только один раз.
Читать еще:  Как в excel скопировать несвязанные диапазоны

Метод 2: создание макроса вручную

Опытные пользователи Эксель в некоторых случаях предпочитают создавать макросы от начала до конца полностью вручную . План действий следующий:

  1. Во вкладке “Разработчик” нажимаем на значком “Visual Basic” (группа инструментов “Код”).
  2. В результате, на экране появится уже знакомое окно, которое мы рассмотрели выше.
  3. Здесь создается макрос и пишется ее код – полностью вручную.

Заключение

Таким образом, использование макросов в табличном редакторе Эксель позволяет повысить эффективность и скорость работы. Создать их можно, как в автоматическом режиме, просто записав выполненные действия, так и написав код с нуля. Также, при необходимости, можно внести изменения в ранее созданный макрос и настроить отдельные аспекты его работы.

Макросы в Excel

Большинство специалистов, работающих с электронными таблицами, изо дня в день составляют свои отчеты, выполняя одни и те же действия. Несмотря на то, что это занимает у них не так много времени, так как все происходит уже на «автомате», все же можно уменьшить в разы трудозатраты, освободив значительную часть рабочего времени под другие задачи либо отдых.

Приложение Excel умеет записывать все действия пользователя с помощью макрорекодера, создавая специальную программу на языке программирования Visual Basic for Application (VBA), которую в последующем можно запустить для исполнения. При этом Вам не нужно быть программистом или иметь специальное образование.

Когда не следует записывать макрос?

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

В принципе, автоматизировать процессы в случаях, описанных выше, можно, но потребуются знания логических конструкций языка VBA, но это тема другой статьи, относящейся к программированию. На данном этапе можно посоветовать разделить одну большую задачу на несколько мелких и определить, какие из них могут быть записаны, а какие следует выполнять самостоятельно.

Подготовка к созданию макроса

В связи с тем, что макросы в Excel записывают все действия пользователя (выделение ячеек, скроллинг таблицы, копирование и т.п.), то изначально требуется продумать все шаги, которые Вы хотите автоматизировать.

В качестве примера создадим простой макрос, задающей ячейке наш стиль. Определим какие шаги надо выполнить:

  • Установить шрифт;
  • Задать заливку;
  • Задать границы.

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

Запись макроса

Теперь произведем саму запись. Выделите любую ячейку, которой необходимо задать стиль (это может быть любая ячейка, главное не меняйте ее во время записи). Перейдите на вкладку «Вид», найдите область «Макросы». Раскройте меню, кликнув по стрелочке, и выберите пункт «Запись макроса». Не обращайте внимание на появившееся окно, его параметры будут рассмотрены дальше, просто нажмите кнопку «OK».

Установите границы, цвет заливки, курсивное начертание текста и шрифт Times New Roman. Остановите запись, используя то же меню. Сейчас там должен находиться пункт «Остановить запись», – выберите его.

Запуск макроса и назначение горячих клавиш

После остановки макрорекодера, протестируйте работу нового макроса. Для этого кликнете по пиктограмме «Макросы» на ленте вкладки «Вид». Должно появиться следующее окно со списком все макросов открытых книг:

Нажмите кнопку «Выполнить». Выделенный диапазон должен поменять свое оформление на то, которое Вы определили во время записи.
Если запускать процедуру придется часто, то есть смысл назначить ей горячие клавиши. Кликните кнопку «Параметры» в том же окне. На экране появиться такой диалог:

  • Имя макроса – его поменять здесь нельзя. Это возможно сделать только в коде записанной процедуры.
  • Сочетание клавиш – укажите один символ того языка, в раскладке которого чаще приходиться работать, так как, например, сочетания Ctrl + q и Ctrl + й являются разными, но находятся на одной клавише. Так же имеет значение регистр символа. Если указать символ «Й», то горячими клавишами будет служить сочетание Ctrl + Shift + й.
  • Описание – служит памяткой тому, кто записал макрос, и пояснением остальным.

Все выше указанные параметры можно задать при запуске макрорекодера.

Изменение макроса

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

Читать еще:  Код числового формата в excel

Отобразите окно с макросами, выберите любой из имеющихся и нажмите кнопку «Изменить». Программа Вас перенаправит в редактор Visual Basic в модуль с кодом выбранного макроса. Если Вы точно следовали статье, то на экране должен быть приблизительно следующий скрипт (зеленый текст, расположенный после апострофа, является комментарием и не выполняется программой):

Не будем ничего менять, а только дополним его двумя строками, которые будут выводить в строке статуса нужную информацию. Это позволит нам определить, что процедура завершила свою работу.

Дополните Ваш код в соответствии с нижеприведенным образцом:

Запустите макрос и убедитесь, что внизу страницы появилось наше сообщение:

Сохраняя книгу с макросами, необходимо выбрать расширение файла .xlsm, иначе все процедуры сотрутся.

Создание макросов в Microsoft Excel

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

Способы записи макросов в Excel

Макрос записывается двумя способами: автоматически и вручную. Воспользовавшись первым вариантом, вы просто записываете определенные действия в Microsoft Excel, которые выполняете в данный момент времени. Потом можно будет воспроизвести эту запись. Такой метод очень легкий и не требует знания кода, но применение его на практике довольно ограничено. Ручная запись, наоборот, требует знаний программирования, так как код набирается вручную с клавиатуры. Однако грамотно написанный таким образом код может значительно ускорить выполнение процессов.

Вариант 1: Автоматическая запись макросов

Прежде чем начать автоматическую запись макросов, нужно включить их в программе Microsoft Excel. Для этого воспользуйтесь нашим отдельным материалом.

Когда все готово, приступаем к записи.

    Перейдите на вкладку «Разработчик». Кликните по кнопке «Запись макроса», которая расположена на ленте в блоке инструментов «Код».

  • После этого все ваши действия в данной книге (файле) Excel будут записываться в макрос до тех пор, пока вы сами не остановите запись.
  • Для примера запишем простейшее арифметическое действие: сложение содержимого трех ячеек (=C4+C5+C6).

    Когда алгоритм был выполнен, щелкаем на кнопку «Остановить запись». Эта кнопка преобразовалась из кнопки «Запись макроса» после включения записи.

    Запуск макроса

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

      Кликаем в том же блоке инструментов «Код» по кнопке «Макросы» или жмем сочетание клавиш Alt + F8.

  • Можно поступить еще проще и не вызывать даже окно выбора макросов, так как на первом этапе мы задали сочетание клавиш для быстрого вызова макроса. В нашем случае это Ctrl + М. Жмем данную комбинацию на клавиатуре, после чего он запускается.
  • Как видим, он выполнил в точности все те действия, которые были записаны ранее.

    Редактирование макроса

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

      Снова щелкаем на кнопку «Макросы». В открывшемся окне выбираем нужный и кликаем по кнопке «Изменить».

    Открывается «Microsoft Visual Basic» (VBE) – среда, где происходит их редактирование.

  • Запись каждого макроса начинается с команды Sub , а заканчивается командой End Sub . Сразу же после Sub указывается имя макроса. Оператор Range(«…»).Select указывает выбор ячейки. Например, при команде «Range(«C4»).Select» выбирается ячейка «C4». Оператор ActiveCell.FormulaR1C1 используется для записи действий в формулах и других расчетов.
  • Попытаемся немного изменить макрос, дописав выражение:

    Range(«C3»).Select
    ActiveCell.FormulaR1C1 = «11»
    Выражение ActiveCell.FormulaR1C1 = «=R[-3]C+R[-2]C+R[-1]C» заменим на ActiveCell.FormulaR1C1 = «= R[-4]C+R[-3]C+R[-2]C+R[-1]C» .

  • Закрываем редактор и запускаем макрос. Как видим, вследствие введенных нами изменений была добавлена дополнительная ячейка с данными. Она также была включена в расчет общей суммы.
  • В случае если макрос слишком большой, его выполнение может занять значительное время, но внесением ручного изменения в код мы можем ускорить процесс. Добавляем команду Application.ScreenUpdating = False . Она позволит сохранить вычислительные мощности, а значит, ускорить работу. Это достигается путем отказа от обновления экрана во время выполнения вычислительных действий. Чтобы возобновить обновление после выполнения макроса, в его конце пишем команду Application.ScreenUpdating = True .
  • Добавим также команду Application.Calculation = xlCalculationManual в начало кода, а в его конец дописываем Application.Calculation = xlCalculationAutomatic . Этим мы сначала отключаем автоматический пересчет результата после каждого изменения ячеек, а в конце макроса – включаем. Таким образом, Excel подсчитает результат только один раз, а не будет его постоянно пересчитывать, чем сэкономит время.

    Вариант 2: Написание кода макроса с нуля

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

      Чтобы приступить к этому, нужно нажать на кнопку «Visual Basic», которая расположена в самом начале ленты разработчика.

    Откроется окно редактора VBE, которое уже быдло продемонстрировано в предыдущем варианте.

  • Программист пишет там код макроса вручную.
  • Как видим, макросы в Microsoft Excel могут значительно упростить выполнение рутинных и однообразных процессов. Тем не менее в большинстве случаев для этого больше подходят макросы, код которых написан вручную, а не автоматически записанные действия. Кроме того, его код можно оптимизировать через редактор VBE для ускорения процесса выполнения задачи.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Ссылка на основную публикацию
    Adblock
    detector