Научиться писать макросы в excel с нуля

Алан-э-Дейл       27.08.2023 г.

Содержание

8) Изменение цвета внутри и шрифтов

Этот макрос изменяет цвета внутри и у источника ячеек в соответствии с буквой ячеек.

Sub Colorir_interior_letra () Для N = 1 до диапазона («O65536»). End (xlUp) .Row

Выберите диапазон шкалы («O» и N) Случай “А” Диапазон («O» и N) .Interior.ColorIndex = 3 Диапазон («O» и N) .Font.ColorIndex = 1

Случай “B” Диапазон («O» и N) .Interior.ColorIndex = 4 Диапазон («O» и N) .Font.ColorIndex = 2

Случай “C” Диапазон («O» и N) .Interior.ColorIndex = 5 Диапазон («O» и N) .Font.ColorIndex = 3

Случай “D” Диапазон («O» и N) .Interior.ColorIndex = 7 Диапазон («O» и N) .Font.ColorIndex = 12

Case Else Диапазон («O» и N) .Interior.ColorIndex = 6 Диапазон («O» и N) .Font.ColorIndex = 4 End Select

Как запустить макрос в Excel 2016, Excel 2013, Excel 2010, Excel для Office 365 и Excel 2016 для Mac

Диалоговое окно Макро

Хотя существует несколько способов запуска макроса, созданного в Excel, два наиболее простых метода — это использование ярлыка, назначенного макросу, и запуск макроса со вкладки «Разработчик». Оба они эффективны, поэтому используйте тот, который кажется вам самым легким.

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

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

Чтобы запустить макрос со вкладки «Разработчик», начните с открытия листа, содержащего макрос.

  1. Введите любые данные, на которые вы хотите применить форматирование или команды, включенные в макрос.
  2. Перейти к разработчик вкладку ленты.
  3. Нажмите макрос в группе Code. Откроется диалоговое окно Макрос.
  4. Выберите имя, присвоенное макросу, и нажмите Бежать.

Отмена активной команды

Если кнопка в интерфейсе пользователя нажата, макрос, назначенный ей, все равно выполняется в текущем контексте программы. Это значит, что макрос будет пытаться ответить на текущий запрос. Если требуется убедиться, что ни одна команда не активна при выполнении макроса, поставьте перед макросом префикс последовательности команд^ C. Для отмены большинства команд достаточно ввести ^C один раз; для возврата к командной строке из команды простановки размеров необходимо ввести ^C^C>;>^C^C^C. ^C^C обеспечивает отмену большинства последовательностей команд, поэтому рекомендуется широко использовать эту последовательность.

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

Код макроса Excel написанный на языке Visual Basic for Application (VBA), а его выполняет инструмент приложения, к которому он присоединен. Большинство этих инструментов не доступно на уровне окна программы Excel. Как написать макрос.

Теперь продемонстрируем на примере информацию о том, как писать, редактировать и выполнять код макроса.

Чтобы написать макрос:

  1. Откройте рабочую книгу Excel, в которой необходимо использовать макрос: «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или нажмите комбинацию горячих клавиш ALT+F11.

Перед началом работы в редакторе следует сделать простую настройку. Выберите инструмент в редакторе Visual Basic: «Tools»-«Options». И на вкладке «Editor» активируйте опцию «Require Variable Declaration». Это позволит реализовать автоматическое заполнение инструкций Options Explicit в начале каждого ново созданного кода. А в поле ввода «Tab Width:» укажите значение 2 вместо 4-х. Это позволит уменьшить ширину кода. Данная настройка редактора распространяется на все листы, но в границах одной рабочей книги.

Выберите инструмент: «Insert»-«Module» чтобы создать новый стандартный модуль для макросов. В появившемся окне модуля под текстом Option Explicit введите следующий код макроса:

Нажмите на кнопку в редакторе «Run Macro» или клавишу F5 на клавиатуре. В появившемся окне «Macros» нажмите на кнопку «Run», чтобы посмотреть результат работы макроса.

Примечание. Если в главном меню отсутствует закладка «РАЗРАБОТЧИК», тогда ее необходимо активировать в настройках: «ФАЙЛ»-«Параметры»-«Настроить ленту». В правом списке «Основные вкладки:» активируйте галочкой опцию «Разработчик» и нажмите на кнопку ОК.

Создаем макрос при помощи команды «Запись макроса»

  1. Для начала откройте вкладку View (Вид) на Ленте. В выпадающем списке Macros (Макросы) нажмите кнопку Record Macro (Запись макроса).Откроется диалоговое окно Record Macro (Запись Макроса).

  2. Задайте имя макросу (не допускаются пробелы и специальные символы), клавишу быстрого вызова, а также, где бы Вы хотели сохранить свой макрос. При желании, Вы можете добавить описание.
  3. С этого момента макрос записывает действия. Например, Вы можете ввести слово “Hello” в ячейку A1.
  4. Теперь снова нажмите иконку Macros (Макросы) и в раскрывшемся меню выберите Stop Recording (Остановить запись).

Доступ к записанному макросу можно получить с помощью команды View Macros (Макросы), которая находится на вкладке View (Вид) в выпадающем меню Macros (Макросы). Откроется диалоговое окно Macro (Макрос), в котором Вы сможете выбрать нужный. Дважды кликните по имени макроса, чтобы выполнить программу.

Кроме этого, Вы можете связать макрос с кнопкой. Для этого:

  1. На вкладке File (Файл) нажмите Options (Параметры) > Quick Access Toolbar (Панель быстрого доступа).
  2. В поле Choose commands from (Выбрать команды из) выберите All Commands (Все команды).
  3. Найдите команду Option Button (Кнопка), нам нужна та, что относится к разделу Form Control (Элементы управления формы). Выделите ее и нажмите Add (Добавить). Затем нажмите ОК, чтобы закрыть параметры Excel.
  4. Выберите команду, только что добавленную на Панель быстрого доступа, и начертите контур кнопки на рабочем листе Excel.
  5. Назначьте макрос объекту.

Примечание: Если у вас включена вкладка Developer (Разработчик), то получить доступ к элементам управления формы можно с нее. Для этого перейдите на вкладку Developer (Разработчик), нажмите на иконку Insert (Вставить) и из раскрывающегося меню выберите нужный элемент.

Не знаете, как отобразить вкладку Developer (Разработчик)? Excel 2007: жмем на кнопку Office > Excel Options (Параметры Excel) > Popular (Основные) и ставим галочку напротив опции Show Developer tab in the Ribbon (Показывать вкладку “Разработчик” на ленте). Excel 2010: жмем по вкладке File (Файл) > Options (Параметры) > Customize Ribbon (Настройка ленты) и в правом списке включаем вкладку Developer (Разработчик).

Расширение файлов Excel, которые содержат макросы

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

До Excel 2007 был достаточен один формат файла – .xls. Но с 2007 года .xlsx был представлен как стандартное расширение файла. Файлы, сохраненные как .xlsx, не могут содержать в себе макрос. Поэтому, если у вас есть файл с расширением .xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет вам следующее диалоговое окно:

Если вы выберете “Нет”, Excel сохранить файл в формате с поддержкой макросов. Но если вы нажмете “Да”, Excel автоматически удалит весь код из вашей книги и сохранит файл как книгу в формате .xlsx. Поэтому, если в вашей книге есть макрос, вам нужно сохранить его в формате .xlsm, чтобы сохранить этот макрос.

Экспорт и импорт макроса

Этот метод создает файл кода VB (файл BAS), который можно экспортировать, чтобы его можно было импортировать в другие книги Excel.

Откройте редактор VB и отобразите макрос, который вы хотите экспортировать. Нажмите на файл и выбрать Экспорт файла.

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

Чтобы импортировать файл BAS и добавить его в проект книги, выберите вкладку «Разработчик» и щелчок на кнопку Visual Basic, чтобы открыть редактор VB. В редакторе VB нажмите файл а затем нажмите Импортировать файл отобразить диалоговое окно «Импорт файла». проводить в соответствующую папку и Выбрать файл для импорта. Нажмите открыто импортировать файл.

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

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

Подробнее: Включение и отключение макросов в Microsoft Excel

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

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

Открывается окно настройки записи макроса. Тут можно указать любое имя для него, если установленное по умолчанию вас не устраивает. Главное, чтобы имя это начиналось с буквы, а не с цифры, а также в названии не должно быть пробелов. Мы оставили название по умолчанию – «Макрос1».
Тут же при желании можно установить сочетание клавиш, при нажатии на которые макрос будет запускаться. Первой клавишей обязательно должна быть Ctrl, а вторую пользователь устанавливает самостоятельно. Мы в качестве примера установили клавишу М.
Далее следует определить, где будет храниться макрос. По умолчанию он расположен в этой же книге (файле), но при желании можно установить хранение в новой книге или в отдельной книге макросов. Мы оставим значение по умолчанию.
В самом нижнем поле можно оставить любое подходящее по контексту описание макроса, но это делать не обязательно. Когда все настройки выполнены, жмем на кнопку «OK».

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

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

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

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

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

После этого открывается окно со списком записанных макросов. Ищем макрос, который мы записали, выделяем его и кликаем на кнопку «Выполнить».

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

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

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

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

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

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

Выражение заменим на .

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

Как в Excel 2010 или 2013 вставить и запустить код VBA – руководство для начинающих

​ Для начала для​ месте находится иконка​ Вот некоторые из​ вернуться к книге​В самом начале кода​Это краткое пошаговое руководство​ (dblMax — Points(,​.Apply​ кнопку «Гиперссылка».​ «Вставить». Открывается меню​ выберем ячейку со​>​Примечание:​(Запись макроса).​ импорта данных из​

​ нажмите​ сохранить книгу как​ всех ячеек зададим​ для включения записи​ них (очень малая​ Excel.​ Вашего макроса VBA​ предназначено для начинающих​ i + 1))​End With​После нажатия открывается окно​ с набором элементов​ значением​Macros​

  • ​Если у вас​Откроется диалоговое окно​
  • ​ него тоже можно​Run​

Вставляем код VBA в книгу Excel

​ шаблон Excel 97-2003,​ одинаковый формат отображения​ макроса. Нажатие на​ часть):​Чтобы запустить только что​ должны содержаться строки:​

    1. ​ пользователей и рассказывает​ * (rng.Height -​
    2. ​End Sub Примечание.​​ для создания связи​​ для вставки. Выбираем​больше 20​
    3. ​>​​ включена вкладка​​Record Macro​ записать в макрос:​(Выполнить).​ который имеет формат​ данных. Выделите все​ неё даст тот​Применять стили и форматирование.​​ добавленный макрос, нажмите​​Application.ScreenUpdating = False​​ о том, как​​ (cMargin * 2))​
    4. ​ Красным текстом отмечены​ кнопки с файлом,​ первый элемент ActiveX​:​View Macros​Developer​​(Запись Макроса).​​Откройте файл шаблона, в​
      ​Когда макрос начнёт работать,​​XLT​ ячейки на листе,​

      ​ же результат, что​Выполнять различные операции с​Alt+F8​

      ​ / (dblMax -​ отличающиеся параметры для​ веб-страницей, электронной почтой,​ – «кнопку» (в​Когда Вы запустите макрос,​(Вид > Макросы​

      • ​(Разработчик), то получить​Задайте имя макросу (не​ котором мы сохранили​​ Вы увидите, как​​, он тоже поддерживает​ для этого воспользуйтесь​​ и включение записи​​ числовыми и текстовыми​. Откроется диалоговое окно​​Если таких строк нет,​​ (Visual Basic for​
      • ​ новым документом, местом​ виде серого кирпичика).​​ цвет шрифта изменится​​ > Макросы), выберите​

      ​ макрос —​ табличный курсор прыгает​ макросы.​ комбинацией клавиш​ через меню.​ данными.​Макрос​ то обязательно добавьте​ Applications) в книгу​ + rng.Left +​Назначаем каждой автофигуре свой​ в текущем документе.​ Теперь рисуем курсором​ на красный:​ из списка название​ управления формы можно​ специальные символы), клавишу​FormatData​

    5. ​ с ячейки на​Когда шаблон сохранён, можно​Ctrl+A​Теперь, когда режим записи​​Использовать внешние источники данных​​(Macro). В списке​ следующие строки в​​ Excel, и как​ ((i + 1)​ макрос: для «Наименование»​​Достаточно выбрать необходимый вариант​ кнопку необходимого размера.​При выполнении второго условия​ нужного макроса и​​ с нее. Для​​ быстрого вызова, а​​.​​ ячейку. Через несколько​​ спокойно закрыть Excel.​, либо щелкните по​​ макроса включен, давайте​​ (файлы баз данных,​Имя макроса​​ свой макрос, чтобы​ запускать вставленный макрос​​ * (rng.Width -​ – Макрос1, а​​ и прописать к​​Кнопка – элемент управления​

  1. ​ шрифт станет синим:​​ нажмите​​ этого перейдите на​ также, где бы​Создайте новый макрос с​ секунд с данными​

Запускаем макрос VBA в Excel

​Прежде чем раскрыть все​ иконке​​ займёмся нашей задачей.​​ текстовые документы и​​(Macro name) выберите​​ он работал быстрее​​ для выполнения различных​​ (cMargin * 2))​ для «Май» –​ нему путь. Этот​​ формы. Снова переходим​​Вы также можете использовать​

​Run​ вкладку​​ Вы хотели сохранить​​ именем​

​ будут проделаны те​

office-guru.ru>

Вкладка «Разработчик»

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

Excel 2010-2016

Переходим по пути: Файл — Параметры — Настроить ленту. В разделе «Настроить ленту» справа в списке «Основные вкладки» устанавливаем флажок «Разработчик» и нажимаем кнопку «OK».

Excel 2007

Переходим по пути: значок «Microsoft Office» — Параметры Excel — категория «Основные», в категории «Основные» устанавливаем флажок «Показывать вкладку «Разработчик» на ленте» и нажимаем кнопку «OK».

Excel 2000-2003

Здесь ничего отображать не надо: кнопки по работе с макросами и редактором VBA находятся в главном меню на вкладке «Сервис» — «Макрос».

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

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

Запуск прост для понимания, но может вызвать затруднения при запуске:

  1. Открыв новый документ, в котором планируется проводить работу с таблицами, переходим во вкладку «Разработчик».
  2. Здесь мы обращаемся к группе инструментов «Код» и кликаем по строке «Макросы». Инструмент запускается горячими клавишами «Ctrl+F8».

  1. В открывшемся окне находим нужный макрос (Шапка таблицы) и кликаем «Выполнить».

На данном этапе макропрограмма откроется самостоятельно и выполнит автоматически ранее запланированную команду. Для нашего макроса – это создание шапки таблицы с вписанными заголовками столбцов.

Предостережения

Формат статьи не позволяет раскрыть все возможности такого мощного инструмента как Макросы и тем более работы с кодами языка VBA, на котором прописываются все действия по работе с таблицами. Желающим использовать макросы в excel самоучитель Office 365, без сомнений, будет полезен. Там же можно найти примеры макросов excel. Здесь будут даны только некоторые наиболее общие понятия.

Чтобы посмотреть VBA программный код в меню открывается вкладка «Вид» и активируется «Макросы». Появится новое окно где будут видны имена всех записанных макросов. Выбирается нужный и с помощью клика «Изменить» смотрим коды Visual Basic for Applications. При определённом опыте непосредственно в этом окне можно менять последовательность действий. Более того, наиболее сложные макросы пишутся именно в кодах VBA. Но это уже другая история. Отметит только, что средства языка позволяют автоматизировать расчёт таблиц и построение графиков любой сложности и последовательности. Экспортировать данные в Exel с документов различного формата, включая интернет-ресурсы.

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

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

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

Как добавить готовый макрос в рабочую книгу

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

  1. Изначально необходимо найти желаемую команду в интернете. После этого выделить полученный код.
  2. Запустить рабочую книгу, активировать комбинацию клавиш Alt+F
  3. Перед пользователем должно открыться окно VBA.

Окно для настройки, добавления макросов вручную при наличии готового кода

  1. По левую сторону необходимо найти окно “Project – VBA Project”. Из появившегося списка нужно выбрать рабочую книгу.
  2. Открыть меню “Insert”, активировать функцию “Module”.
  3. После этого в левом окне появится новая папка под названием “Moduels”.
  4. Открыть новый объект внутри созданной паки, в свободное окно вставить скопированный код по комбинации клавиш “Ctrl+V”.

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

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

Самоучитель по Excel VBA

​ Вам не требуется​Данный учебник является введением​: Супер справочник, мне​ придётся запомнить.​ помощью макросов, но​ одновременно создать сразу​ в которой необходимо​ этих функций, в​ автоматически:​ «VBA» чтобы создавать​Выберите​ Для этого можно​ него тоже можно​(Макросы).​ макрос остался записан.​ этого значения необходимо​ ВСЕ Ваши действия​ знание языков программирования.​ в язык программирования​ как раз такой​Ну, это как​ я в них​ определенное количество копий​ использовать макрос: «РАЗРАБОТЧИК»-«Код»-«Visual​ том числе открытие​Присваивайте макросам короткие, но​

  • ​ свои макро-программы с​
  • ​Excel​ создать и выполнить​
  • ​ записать в макрос:​
  • ​В открывшемся диалоговом окне​ Нам нужно сохранить​
  • ​ взять именно исходные​
  • ​ с документом записываются:​
  • ​Вам уже любопытно, что​ Excel VBA (Visual​
  • ​ нужен! Спасибо вам​ научиться ездить на​
  • ​ полный «дундук». Даже​ определенного рабочего листа.​
  • ​ Basic». Или нажмите​
  • ​ и соединение всех​

​ содержательные имена. Когда​ помощью инструмента записи​>​ макрос, который быстро​

​Откройте файл шаблона, в​ мы увидим строку​​ книгу, как шаблон​​ данные таблицы. Если​

​ изменения ячеек, пролистывание​

office-guru.ru>

Как запустить макрос при изменении значения ячейки в Excel?

Обычно в Excel мы можем нажать клавишу F5 или кнопку «Выполнить», чтобы выполнить код VBA. Но пробовали ли вы когда-нибудь запустить конкретный код макроса при изменении значения ячейки? В этой статье я расскажу о некоторых быстрых приемах, которые помогут справиться с этой задачей в Excel.

Запуск или вызов макроса при изменении значения определенной ячейки с кодом VBA

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

1. Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите выполнить макрос, если значение ячейки изменится, а затем выберите Просмотреть код из контекстного меню, а в открывшемся Microsoft Visual Basic для приложений окна, скопируйте и вставьте следующий код в пустой модуль:

Код VBA: запускать макрос при изменении значения ячейки:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Call Mymacro
    End If
End Sub

Внимание: В приведенном выше коде A1 это конкретная ячейка, на основе которой вы хотите запустить код, Mymacro это имя макроса, который вы хотите запустить. Пожалуйста, измените их по своему усмотрению

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

Запуск или вызов макроса при изменении любого значения ячейки в диапазоне с кодом VBA

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

1. Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите выполнить макрос, если значение ячейки изменится, а затем выберите Просмотреть код из контекстного меню, а в открывшемся Microsoft Visual Basic для приложений окна, скопируйте и вставьте следующий код в пустой модуль:

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

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub

Внимание: В приведенном выше коде A1: B100 это конкретные ячейки, на основе которых вы хотите запустить код, Mymacro это имя макроса, который вы хотите запустить. Пожалуйста, измените их по своему усмотрению

2. А затем сохраните и закройте окно кода, теперь, когда вы вводите или изменяете значение в любой ячейке A1: B100, конкретный код будет выполнен сразу.

Удалить все макросы из нескольких книг

Kutools for Excel’s Пакетное удаление всех макросов Утилита может помочь вам удалить все макросы из нескольких книг по мере необходимости. Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

Атанас Йонков Блоггер, Веб-разработчик yonkov.atanas@gmail.com

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

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

Table of Contents

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

В Excel нажмите комбинацию клавиш alt + F11. Это приведет вас к редактору VBA в MS Excel. Затем щелкните правой кнопкой мыши папку Microsoft Excel Objects слева и выберите Insert => Module. Это место, где сохраняются макросы. Чтобы использовать макрос, вам нужно сохранить документ Excel как макрос. Из табуляции File => Save as, выберите Save as macro-enabled Workbok (расширение .xlsm) Теперь пришло время написать свой первый макрос!

1. Копирование данных из одного файла в другой.

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

2. Отображение скрытых строк

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

14. Отправка активного файла по электронной почте

Мой любимый код VBA. Он позволяет вам прикреплять и отправлять файл, с которым вы работаете, с предопределенным адресом электронной почты, заголовком сообщения и телом сообщения! Сначала Вам нужно сделать референцию в Excel на Microsoft Outlook (в редакторе Excel VBA, нажмите tools => references и выберите Microsoft Outlook).

15. Вставка всех графиков Excel в презентацию PowerPoint

Очень удобный макрос, который позволяет вам добавлять все ваши графики Excel в презентацию Powerpoint одним щелчком мыши:

16. Вставка таблицы Excel в MS Word

Таблицы Excel обычно помещаются внутри текстовых документов. Вот один автоматический способ экспорта таблицы Excel в MS Word:

17. Извлечение слов из текста

Мы можем использовать формулы, если хотим извлечь определенное количество символов. Но что, если мы хотим извлечь только одно слово из предложения или диапазон слов в ячейке? Для этого мы можем сами создать функцию Excel с помощью VBA. Это одна из самых удобных функций VBA, поскольку она позволяет создавать собственные формулы, которые отсутствуют в MS Excel. Давайте продолжим и создадим две функции: findword() и findwordrev():

Отлично, мы уже создали две новые функции в Excel! Теперь попробуйте использовать их в Excel. Функция = FindWordRev (A1,1) берет последнее слово из ячейки A1. Функция = FindWord (A1,3) берет третье слово из ячейки A1 и т. Д.

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

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

Теперь давайте назначим записанный макрос (любой из двух) кнопке, добавленной на лист Excel из раздела «Элементы управления формы»:

Excel 2007-2016

  1. На вкладке «Разработчик» нажмите кнопку «Вставить» и в разделе «Элементы управления формы» кликните по изображению кнопки.
  2. Переведите курсор на табличную область листа, курсор примет вид крестика, и кликните левой кнопкой мыши.
  3. В открывшемся окне «Назначить макрос объекту» выберите один из новых макросов и нажмите кнопку «OK». Если нажать кнопку «Отмена», новая кнопка будет создана без назначенного макроса. Его можно будет назначить позднее, кликнув по ней правой кнопкой мыши и выбрав в контекстном меню «Назначить макрос…»

Excel 2000-2003

  1. Отобразите панель инструментов «Формы», пройдя по пунктам меню «Вид» — «Панели инструментов» — «Формы».
  2. Кликните по Кнопке на панели инструментов «Формы», затем переведите курсор на табличную часть рабочего листа, нажмите левую кнопку мыши и, не отпуская ее, нарисуйте прямоугольник (контур кнопки) нужного размера, затем отпустите кнопку мыши.
  3. В открывшемся окне «Назначить макрос объекту» выберите один из новых макросов и нажмите кнопку «OK». Если нажать кнопку «Отмена», новая кнопка будет создана без назначенного макроса. Его можно будет назначить позднее, кликнув по ней правой кнопкой мыши и выбрав в контекстном меню «Назначить макрос…»

Кнопка создана. Выберите ячейку или диапазон и нажмите созданную кнопку. Цвет фона изменится.

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

Сокращенный вариант кода по очистке фона будет выглядеть так:

1
2
3

SubМакрос3()

Selection.Interior.Pattern=xlNone

EndSub

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

Гость форума
От: admin

Эта тема закрыта для публикации ответов.