Запись макроса в excel 2016

Создание макросов в 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 для ускорения процесса выполнения задачи.

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

    Источник: lumpics.ru

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

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

    Чтобы записать макрос, нужно включить режим записи. Это можно сделать на вкладке Вид (View) в разделе Макросы (Macros) или в меню Сервис (Tools), если у Вас Excel 2003. Ниже на картинках показано, как выглядят эти меню.

    • Запись макроса в современных версиях Excel (2007 и новее):
    • Запись макроса в Excel 2003:

    Далее откроется диалоговое окно Запись макроса (Record Macro), как показано на картинке ниже:

    Здесь, по желанию, можно ввести имя и описание для макроса. Рекомендуется давать макросу такое имя, чтобы, вернувшись к нему спустя некоторое время, можно было без труда понять, для чего этот макрос нужен. Так или иначе, если не ввести для макроса имя, то Excel автоматически назовёт его Макрос1, Макрос2 и так далее.

    Здесь же можно назначить сочетание клавиш для запуска записанного макроса. Запускать макрос таким способом будет значительно проще. Однако будьте осторожны! Если случайно назначить для макроса одно из предустановленных клавиатурных сочетаний Excel (например, Ctrl+C), то в дальнейшем макрос может быть запущен случайно.

    Когда макросу дано подходящее имя и (при желании) задано сочетание клавиш, нажмите ОК, чтобы запустить запись макроса. С этого момента каждое действие (ввод данных, выделение ячеек, изменение формата ячеек, пролистывание листа и так далее) будет записано в макрос и сохранено в виде кода VBA.

    При включении режима записи макроса в строке состояния (внизу слева) появляется кнопка Стоп. В Excel 2003 эта кнопка находится на плавающей панели инструментов.

    • Кнопка Стоп в строке состояния в Excel 2007 и более новых версиях:
    • Панель инструментов записи макроса в Excel 2003:

    Нажмите Стоп, когда выполните все действия, которые должны быть записаны в макрос. Теперь код записанного макроса сохранён в модуле редактора Visual Basic.

    Параметр «Относительные ссылки»

    Если перед началом записи макроса включить параметр Относительные ссылки (Use Relative References), то все ссылки в записываемом макросе будут создаваться как относительные. Если же параметр выключен, то при записи макроса будут создаваться абсолютные ссылки (подробнее об этих двух типах ссылок можно узнать в статьях, посвящённых теме ссылок на ячейки в Excel).

    Читайте также:  Примеры макросов в excel

    Параметр Относительные ссылки (Use Relative References) находится в разделе Макросы (Macros) на вкладке Вид (View). В Excel 2003 этот параметр расположен на плавающей панели инструментов.

    • Параметр Относительные ссылки (Use Relative References) в современных версиях Excel:
    • Параметр Относительные ссылки (Use Relative References) на плавающей панели инструментов в Excel 2003:

    Просмотр кода VBA

    Код VBA, записанный в макрос, размещается в модуле, который можно просмотреть в редакторе Visual Basic. Редактор можно запустить нажатием Alt+F11 (одновременное нажатие клавиш Alt и F11).

    Код находится в одном из модулей, которые расположены в окне Project слева от области редактирования. Если дважды кликнуть по Module1 в окне Project, то справа появится код записанного макроса.

    Запуск записанного макроса в Excel

    Записывая макрос, Excel всегда создаёт процедуру Sub (не Function). Если при создании макроса к нему было прикреплено сочетание клавиш, то именно с его помощью запустить макрос будет проще всего. Существует и другой способ запустить макрос:

    • Нажмите Alt+F8 (одновременно нажмите клавиши Alt и F8);
    • В появившемся списке макросов выберите тот, который нужно запустить;
    • Нажмите кнопку Выполнить (Run).

    Ограничения

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

    • Константы, переменные и массивы;
    • Выражения IF;
    • Циклы;
    • Обращения к встроенным функциям или внешним процедурам.

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

    Автоматическое создание кода VBA в Excel отлично работает для простых макросов, но если нужно построить более сложный макрос, то придётся научиться писать код VBA самостоятельно. Тем не менее, запись макроса в Excel – это отличны инструмент, при помощи которого можно создавать первоначальный код, а в дальнейшем исправлять или вставлять его в более сложные макросы.

    Источник: office-guru.ru

    Как создавать, изменять и выполнять макросы в 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 . Теперь вычисление будет выполняться только один раз.

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

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

    Читайте также:  Как в эксель 2010 включить макросы

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

    Заключение

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

    Источник: microexcel.ru

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

    Если Вы задались вопросом «Как запустить макрорекордер и записать макрос в Excel?» то эта статья для Вас. Рассмотрим процесс запуска макрорекордера и записи макроса в разных версиях Excel. Для большей определенности запишем макрос, выделяющий столбец «А» электронной таблицы.

    Microsoft Excel 2003

    Запускаем приложение, заходим в главное меню Сервис/Макрос и выбираем пункт «Начать запись…»

    После выбора пункта меню «Начать запись» появляется окно, в котором присваиваем нашему макросу имя «Макрос1», сочетание горячих клавиш присваивать не будем, для сохранения выберем личную книгу макросов, описание оставим то, которое есть по умолчанию. Жмем ОК.

    С этого момента все наши действия записываются макрорекордером, автоматически переводятся на язык программирования Visual Basic for Application и записываются в модуль личной книги макросов.

    В самом начале статьи мы условились, что нашим действием будет выделение столбца «А», поэтому выделяем столбец и останавливаем запись выбором меню «Остановить запись», которая находится также в меню Сервис/Макрос.

    Вот собственно и все, макрос записан.

    Посмотрим теперь, как работает записанный нами макрос. Для этого снимем выделение со столбца, зайдем в меню Сервис/Макрос/Макросы либо нажмем сочетание клавиш Alt+F8, выберем из списка макрос с нашим названием «Макрос1» и нажмем кнопку «Выполнить». Обратите внимание, что с помощью этого окна можно не только запустить макрос, можно также внести изменения в его программный код, а также удалить макрос.

    Результатом выполнения макроса станет выделенный столбец «А», строго в соответствии с тем действием, которое мы записали. Если записанный Вами макрос не запустился, то Вам следует изменить параметры системы безопасности.

    Для просмотра программного кода записанного макроса, запускаем редактор Visual Basic через меню Сервис/Макрос/Редактор Visual Basic, либо нажатием сочетания клавиш Alt+F11. В открывшемся окне редактора видим новый модуль Module1 в проекте VBAProject(PERSONAL.XLS), в котором сохранен программный код записанного нами макроса.

    Microsoft Excel 2007

    Запускаем приложение. Кнопка «Начать запись…» в Excel 2007 расположена сразу в нескольких местах, самое доступное из которых в левом нижнем углу окна приложения, в строке состояния.

    Еще одно расположение откуда доступен запуск макрорекордера на вкладке “Вид”, в группе “Макросы”. Прежде чем продолжить, остановимся на том, что такое лента и что такое вкладка на этой ленте. Лента – это широкая полоса в верхней части окна программы, на которой размещены тематические наборы команд, собранные во вкладках и в группах. Вкладка в свою очередь, представляет собой часть ленты с командами, сгруппированными по задачам, которые обычно выполняются совместно. Группа – это еще более локализованный набор команд, сформированный по принципу наибольшей близости по типу выполняемой задачи. Непосредственно в группах уже находятся кнопки для выполнения команд.

    И еще одно место где можно включить запись макроса макрорекордером – это вкладка “Разработчик”, в том случае, если она предварительно была отображена на ленте. По умолчанию эта вкладка в Excel 2007 не отображается.

    На вкладке “Разработчик” расположены все доступные инструменты для работы с макросами. О том как ее отобразить описано в статье “Работа с макросами VBA. Инструменты для работы с макросами.

    После нажатия, кнопка “Запись макроса” меняет свое название на “Остановить запись”. Выполнение и просмотр кода макроса осуществляется точно также, как в Excel 2003.

    Microsoft Excel 2010

    В Excel 2010 расположение кнопок записи и остановки записи макроса абсолютно аналогичное версии Excel 2007. Это левый нижний угол окна приложения в строке состояния, вкладка “Вид” и вкладка “Разработчик”. В этой версии Excel, редактор Visual Basic устанавливается как отдельный компонент пакета с наименованием “Общие средства Office” и называется “Visual Basic для приложений”, поэтому если у Вас возникли проблемы с доступностью макрорекрордера или редактора Visual Basic, то Вам необходимо вернуться на этап установки пакета Microsoft Office и доустановить недостающий компонент. Кроме того, может возникнуть проблема при запуске самого макроса, связанная с настройками системы безопасности.

    Источник: macros-vba.ru

    Как создать макрос в Excel?

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

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

    Введение

    Зачастую нам приходится выполнять одни и те же действия в Excel большое количество раз. C такой «рутинной работой» рано или поздно сталкивается почти каждый пользователь Excel — формирование ежедневных и еженедельных отчетов, обработка однообразных данных и т.д.

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

    Макрос в Excel — это программа, записанная на языке программирования Visual Basic for Applications (VBA), которая выполняет определенную последовательность действий.

    Как записать макрос в Excel?

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

    1. Макрорекордер записывает все Ваши действия, в том числе и случайно сделанные ошибки. Поэтому перед записью макроса четко продумайте список выполняемых действий — это поможет избежать ошибок;
    2. Макрорекордер записывает действия, выполненные только в программе Excel. Переключения на другие программы макрорекордер не записывает;
    3. Макрорекордер записывает только те действия, для которых есть кнопки или команды меню в Excel.

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

    Чтобы записать макрос в Excel нужно в нижней панели нажать на кнопку «Запись макроса» или перейти в панели инструментов на вкладку «Вид» в группу «Макросы» и выбрать «Запись макроса»:

    Настраиваем поля записываемого макроса (можно оставить поля пустыми):

    Выбор имени макроса и сочетания клавиш

    1. Имя макроса — произвольное имя на русском или английском языке;
    2. Сочетание клавиш — комбинация клавиш, которой в дальнейшем будет запускаться макрос;
    3. Сохранить в — книга в которой будет сохраняться макрос.

    Остановить запись макроса можно двумя способами: в нижней панели нажать на кнопку «Остановить запись» или перейти в панели инструментов на вкладку «Вид» в группу «Макросы» и выбрать «Остановить запись»:

    Конец записи макроса

    Читайте также:  Макрос в excel для печати

    Как выполнить макрос в Excel?

    Чтобы выполнить и запустить макрос можно нажать выбранное сочетание клавиш или перейти на вкладку «Вид» в группу «Макросы», выбрать «Макросы» и нажать кнопку «Выполнить» или нажать сочетание клавиш Alt+F8:

    Просмотр кода макроса

    Для просмотра кода макроса нужно перейти на вкладку «Вид» в группу «Макросы» и выбрать «Макросы»,а затем нажать кнопку «Изменить»:

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

    Резюме

    Для создания макроса в Excel нужно выполнить следующие шаги:

    1. Создание макроса. Выбрать на панели инструментов «Вид» ->«Макросы» ->«Запись макроса» и при необходимости заполнить настройки макроса;
    2. Запись макроса. Выполнить требуемые действия;
    3. Остановить запись макроса. Выбрать на панели инструментов «Вид» ->«Макросы» ->«Остановить запись».

    Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

    Поделиться с друзьями:
    Поиск по сайту:

    Похожие статьи:

    Комментарии (7)

    что мне надо сделать чтобы не запускать его постоянно в VB при открытии документа, а что бы он делал это сам автоматически. И еще вопрос можно ли как-то в поле со списком или в combobox вставить названия таблиц, и при выборе определенного названия в определенном диапазоне открывалась нужная таблица? Спасибо.

    Вам необходимо зайти в VBA, выбрать в редакторе модуль «ЭтаКнига» и затем в код модуля добавить стандартный макрос:

    Источник: tutorexcel.ru

    Запись макроса в excel 2016

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

    Файлы для скачивания:

    Файл Описание Размер файла: Скачивания
    Пример 14 Кб 1849

    Рассмотрим два примера:

    1. Ищем и используем команду

    Например, нам необходима команда, которая бы вставляла в выделенные ячейки цифру “1”. Запускаем поисковик, набираем поисковую фразу, получаем результаты, начинаем просматривать, находим код примерно в таком виде:

    Выделяем данный код (без нумерации строк, начиная со слова Sub) и нажимаем Ctrl+C. Переходим в свою рабочую книгу MS Excel и нажимаем сочетание клавиш Alt+F11, у вас откроется окно редактора VBA:

    В левом окне “Project – VBA Project” выбираем (щелкаем мышкой) нашу рабочую книгу, в которую необходимо вставить макрос, например, “VBAProject (Книга2)”:

    В пункте меню “Insert” выбираем “Module”:

    В левом окне “Project – VBA Project” у вас должна появиться новая папка “Modules” и в ней новый объект “Module1”:

    Переходим курсором в правое “Большое” поле для ввода и нажимаем Ctrl+V, скопированный макрос вставиться в модуль:

    После чего закрываем редактор VBA и возвращаемся в рабочую книгу.

    Если вы работаете в MS Excel 2007, 2010 или 2013, вам необходимо будет сохранить вашу рабочую книгу как “Книга Excel с поддержкой макросов (.xlsm)”:

    В MS Excel 2003 достаточно будет просто сохранить файл.

    Чтобы выполнить скопированный в книгу макрос выделяем ячейки, в которые необходимо вставить “1”, нажимаем в меню “Вид” кнопку “Макросы” и в выпавшем списке выбираем пункт “Макросы” или нажимаем сочетание клавиш Alt+F8:

    Откроется диалоговое окно “Макрос”, в списке макросов выбираем свой и нажимаем кнопку “Выполнить”:

    Макрос выполнится – в выделенные ячейки вставиться “1”:

    Макросы в MS Excel можно вставлять в следующие места:

    • В Модуль, обычно вставляют код макросов, запуск которых будет производится по нажатию кнопки пользователем (как, например, в нашем случае) или код функций (формул);
    • В Рабочий лист, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий пользователя или изменения данных в листе (поменялись данный, макрос выполнился);
    • В Рабочую книгу, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий, производимых над книгой (файлом). Например, макрос, который запускается при открытии или закрытии книги, или при ее сохранении;
    • Так же макросы могут быть частью пользовательской формы.

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

    Чтобы вставить код в Рабочий лист, в левом окне редактора VBA выберите соответствующий лист, щелкните по нему два раза левой кнопкой мышки, переместите курсор в правое поле ввода и вставьте код.

    Для вставки кода в Книгу, выберите “ЭтаКнига”:

    Давайте потренируемся. Вставьте код опубликованный ниже в “Лист1”.

    Данный макрос выводит информационное сообщение если вы введете в любую ячейку листа “2”.

    Вернитесь в рабочую книгу, перейдите в “Лист1” и введите в ячейку “А1” цифру “2” и нажмите Enter, после чего у вас должно появиться следующее сообщение:

    Если вы видите это сообщение, то вы все сделали правильно. Если нет, то вы вставили код куда-то не туда, повторите попытку.

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

    2. Ищем и используем функцию

    Находим в интернете VBA код функции, которая подсчитывает, например, количество слов в ячейке:

    Копируем код, нажимаем сочетание клавиш Alt+F11, откроется редактор VBA:

    Добавляем новый модуль в свою книгу и в этот модуль вставляем скопированный код:

    Закрываем редактор VBA и переходим в свою рабочую книгу. Создаем новый лист (необязательно) в ячейку A1 вводим текст “мама мыла раму”. Встаем в ячейку, в которой хотим получить результат (количество слов), в меню “Формулы” нажимаем кнопку “Вставить функцию”:

    В открывшемся окне “Вставка функции” в поле “Категория” выбираем “Определенные пользователем”

    В списке доступных функций выбираем “КолСловВЯчейке”, нажимаем “ОК”:

    Вводим необходимые аргументы и нажимаем “ОК”:

    Важно:

    Если вы не сохраните книгу, в которую вставили макрос как “Книгу с поддержкой макросов”, все модули с макросами удаляться и вам придется, потом, повторно проделывать всю эту работу.

    Если при вставке макроса в модуль у вас вместо некоторого текста стоят красные знаки ” .

    Это значит, что у вас проблема с кодировкой, которая наблюдается с копированием Кириллического текста из некоторых браузеров. Чтобы победить эту проблему, попробуйте вставить скопированный код в пустой лист MS Excel, как “Текст в кодировке Unicode”. Для этого перейдите в книгу MS Excel, выберите или создайте пустой лист, встаньте в ячейку “A1” и нажмите сочетания клавиш Ctrl+Alt+V. Должно будет появиться меню “Специальной вставки”, выберите пункт “Текст в кодировке Unicode” и нажмите “OK”.

    Код должен будет вставиться в рабочий лист без знаков вопроса:

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

    Если вы не видите в редакторе VBA окна “Project – VBA Project”, перейдите во вкладку меню “View” и в списке выберите пункт “Project Explorer” или нажмите сочетание клавиш Ctrl+R:

    Источник: e-xcel.ru