Создание макросов (Microsoft Excel)
Советы, уловки и ответы
Следующие статьи доступны по теме «Создание макросов».
Щелкните заголовок статьи (выделен жирным шрифтом), чтобы просмотреть связанную статью.
link: / excel-Assigning_a_Macro_to_a_Keyboard_Combination [Назначение макроса комбинации клавиш]
Макросы — отличный способ расширить возможности ваших действий с данными, которые вы размещаете в Excel. Вы можете сделать эти макросы еще удобнее, назначив их сочетанию клавиш, как описано в этом совете.
link: / excel-Automatically_Changing_References_to_VBA_Libraries [Автоматическое изменение ссылок на библиотеки VBA]
Библиотеки VBA используются для предоставления некоторых функций вашим макросам. Эти библиотеки часто привязаны к используемой вами версии Excel, что может затруднить запуск одного и того же макроса в другой версии Excel. Этот совет предлагает несколько идей о том, как можно обойти проблемы, связанные с тем, какая ссылка на библиотеку VBA используется в книге.
link: / excel-Continuing_Macro_Lines [Продолжение макросов]
Иногда командная строка макроса может быть очень и очень длинной. Это может затруднить понимание, когда вы посмотрите на это через месяц или около того. Лучше разбить командные строки на отдельные строки, которые легче понять и задокументировать.
link: / excel-Copying_Worksheets_in_a_Macro [Копирование рабочих листов в макросе]
Копирование листов (одного или нескольких) легко сделать вручную. Что не очень хорошо известно, так это то, что в макросе даже легко создавать копии, как описано в этом совете.
link: / excel-Deleting_Macros_from_within_a_Macro [Удаление макроса из макроса]
Макросы действительно полезны, но вы можете фактически удалить макрос из другого макроса. Как указывает этот совет, это не так просто, как кажется.
link: / excel-Error_Using_ATAFunction_in_Macro [Ошибка при использовании функции ATAN2 в макросе]
Excel позволяет использовать функции рабочего листа из макросов. Это полезно, особенно когда вы пытаетесь выполнять математические функции. Однако, если ваше использование вызывает ошибку, вам может быть неясно, почему это происходит.
link: / excel-Exiting_a_For_Next_Loop_Early [Ранний выход из For … Следующий цикл]
Если вы используете циклы For … Next в своих макросах, убедитесь, что вы дали возможность выйти из цикла раньше. Таким образом вы можете ограничить время, затрачиваемое макросом на цикл, и повысить производительность.
link: / excel-Hiding_Entries_in_an_InputBox [Скрытие записей в InputBox]
Требование к пользователям вводить пароль в Excel повышает безопасность рабочего листа и может помешать кому-либо запускать макрос без авторизации. Этот совет объясняет, как выполнить эту задачу.
link: / excel-Macro_Fails_after_AutoFilter [Macro Fails after AutoFilter]
При разработке макроса, который могут использовать другие, вы можете протестировать его, чтобы убедиться, что он работает правильно, если действует автофильтр. Если этого не произошло, вы можете отключить автофильтр с помощью простой однострочной команды.
link: / excel-Maximum_Length_Limit_for_a_Macro [Максимальная длина макроса]
Сделайте макросы слишком длинными, и Excel может вообще не запускать их.
Этот совет объясняет, какой предел для макросов, и дает некоторые рекомендации о том, как вы можете его обойти.
link: / excel-Offering_Options_in_a_Macro [Варианты предложения в макросе]
Часто бывает полезно получить ввод пользователя в макрос. Вот быстрый способ представить некоторые варианты и получить ответ пользователя.
link: / excel-Official_Color_Names_in_VBA [Официальные названия цветов в VBA]
При создании макросов вы можете использовать свойства ColorIndex и Color для установки или определения цветов в ячейке. Excel предоставляет восемь констант, которые можно использовать для указания цветов, но это не предел того, как вы можете работать с цветами. Этот совет содержит некоторые общие рекомендации по цветам и названиям цветов в макросах VBA.
link: / excel-Opening_a_Workbook_but_Dispting_Macros [Открытие книги, но отключение макросов]
Макросы, которые запускаются автоматически при открытии или закрытии книги, очень полезны. Однако вы можете не захотеть, чтобы они запускались, когда вы открываете или закрываете книгу из макроса другой книги. В этом совете объясняется, как можно остановить выполнение определенного макроса (AutoClose) при доступе к книге таким образом.
link: / excel-Recording_a_Macro [Запись макроса]
Один из наиболее распространенных способов создания макросов — использование средства записи макросов Excel. Этот совет показывает, насколько просто использовать средство записи макросов для записи действий, которые вы выполняете в своей книге.
link: / excel-Retrieving_Drive_Statistics [Получение статистики диска]
Вам нужно собрать информацию о дисках в системе? Это довольно легко сделать с помощью макроса, как показано в этом совете.
link: / excel-Selecting_a_Range_of_Cells_Relative_to_the_Current_Cell [Выбор диапазона ячеек относительно текущей ячейки]
При обработке информации в макросе вам часто нужно выбрать разные ячейки относительно текущих выбранных ячеек. Это легко сделать, если вы знаете, как использовать смещения в своих макросах.
link: / excel-Selecting_Visible_Cells_in_a_Macro [Выбор видимых ячеек в макросе]
Часто вам нужно выбрать только видимые ячейки, прежде чем предпринимать какие-либо действия. Полезно знать, как сделать этот специализированный выбор в макросе.
link: / excel-Self-Deleting_Macros [Самоудаление макросов]
Макросы очень эффективны, но вы можете не захотеть, чтобы они всегда были доступны пользователю. Вот несколько способов ограничить их использование в зависимости от даты.
link: / excel-Specifying_Location_for_a_Message_Box [Указание местоположения для окна сообщения]
При написании макросов вы можете разместить окно сообщения в определенном месте на экране. Это невозможно сделать в Excel, но есть способы обойти проблему.
link: / excel-Stepping_Through_a_Macro_with_a_Worksheet_Visible [Переход по макросу с видимым листом]
При разработке макроса часто необходимо пройтись по различным строкам кода, чтобы увидеть, что происходит на листе.
Это легко сделать; просто вывести на экран нужные окна одновременно.
link: / excel-Switching_Windows_in_a_Macro [Переключение Windows в макросе]
Когда у вас одновременно открыто несколько книг, Excel позволяет легко переключаться между этими книгами. Однако то, как вы выполняете переключение в макросе, немного сложнее.
link: / excel-Telling_which_Worksheets_are_Selected [Указание, какие рабочие листы выбраны]
Если ваш макрос обрабатывает информацию на нескольких листах, скорее всего, вам понадобится макрос, чтобы выяснить, какие листы фактически выбраны. Этот совет объясняет, как вы можете определить эту информацию в вашем макросе.
link: / excel-Triggering_an_Event_when_a_Worksheet_is_Deactivated [Запуск события при деактивации рабочего листа]
Один из способов использования макросов в книге — их автоматический запуск при наступлении определенных событий. Вот как запустить макрос, который запускается, когда рабочий лист деактивирован (когда он теряет фокус).
link: / excel-Trouble_Recording_Paste_Special_Formula [Специальная формула пасты для записи неисправностей]
Иногда при обновлении до новой версии Excel вы можете столкнуться с проблемой записи макросов, с которой у вас не было проблем в более ранней версии. У проблемы может быть любое количество причин, но иногда проще обойти запись и создать макрос с нуля.
link: / excel-Understanding_Macros [Общие сведения о макросах]
Что такое макрос? Вы когда-нибудь задумывались, что это такое и как их использовать? Этот совет дает ответы на основные вопросы о том, для чего используется макрос, о различных способах их создания и о том, где их можно хранить.
link: / excel-Understanding_the_For_Next_Structure [Общие сведения о структуре For … Next]
Часть возможностей VBA заключается в возможности контролировать, когда часть вашего кода выполняется, а когда нет. Основной способ сделать это — использовать структуру For … Next.
link: / excel-Using_Macros_in_Protected_Workbooks [Использование макросов в защищенных книгах]
Возникли проблемы с использованием макросов в защищенной книге? Как описано в этом совете, может быть любое количество причин (и решений).
link: / excel-Using_Named_Ranges_in_a_Macro [Использование именованных диапазонов в макросе]
Именованные диапазоны — отличная возможность, предоставляемая Excel. В книге можно определять все виды именованных диапазонов, но как получить к ним доступ при создании макросов? Этот совет объясняет различные способы доступа к этим диапазонам.
link: / excel-Writing_a_Macro_from_Scratch [Написание макроса с нуля]
Запись макросов — отличный способ начать работу с макросами, но в какой-то момент вам нужно будет создать его с нуля. Вот как это сделать.
См. Раздел «Поглубже» вверху левого столбца для получения информации по связанным темам …