Как изменить цвет кнопки макроса в эксель
Всем нам приходится - кому реже, кому чаще - повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую "рутинную составляющую" - одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос - это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно - редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис - Макрос - Редактор Visual Basic(Toos - Macro - Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer) . Выбираем Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer) . Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic(Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
-
Обычные модули - используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert - Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно.
Способ 2. Запись макросов макрорекордером
Макрорекордер - это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу - запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись - ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) - во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше - выбрать в меню Сервис - Макрос - Начать запись(Tools - Macro - Record New Macro)
- в Excel 2007 и новее - нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса - подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш - будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис - Макрос - Макросы - Выполнить(Tools - Macro - Macros - Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в. - здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга - макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга - макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов - это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording) .
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или - в старых версиях Excel - через меню Сервис - Макрос - Макросы (Tools - Macro - Macros) :
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить(Run) .
- Кнопка Параметры(Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить(Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис - Настройка (Tools - Customize) и перейдите на вкладку Команды (Commands) . В категории Макросы легко найти веселый желтый "колобок" - Настраиваемую кнопку (Custom button) :
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar) :
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше - откройте панель инструментов Формы через меню Вид - Панели инструментов - Формы (View - Toolbars - Forms)
- В Excel 2007 и новее - откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button) :
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция - только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert - Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка - Функция) в категории Определенные пользователем (User Defined) :
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:
В Excel, когда вы вставляете командную кнопку, цвет кнопки по умолчанию серый. Но иногда вам нужно изменить серый цвет на красивый, чтобы сделать рабочий лист более профессиональным. Сегодня я могу представить вам несколько быстрых приемов изменения цвета кнопки в Excel.
Измените цвет кнопки ActiveX Control с изменением свойств
Обычно в Excel есть кнопки двух типов: одна Контроль формы кнопка, а другой элемент управления ActiveX кнопка. Если кнопка является кнопкой управления формой, вы можете просто изменить ее цвет шрифта, но не меняйте цвет фона. Вы просто можете изменить цвет задней части кнопки ActiveX Control. Пожалуйста, сделайте так:
1. Вставьте элемент управления ActiveX кнопку, нажав разработчик > ВставитьИ выберите Кнопка управления под Элементы управления ActiveX раздел, см. снимок экрана:
Внимание: Если разработчик вкладка не отображается на ленте, вы можете нажать Файл > Опция > Настроить ленту, затем проверьте разработчик на правой панели, чтобы отобразить разработчик меню.
2. Затем перетащите мышь, чтобы нарисовать кнопку.
4. Затем закройте диалоговое окно, и цвет вашей командной кнопки будет изменен следующим образом:
5. Наконец, брось Режим проектирования кликнув разработчик > Режим проектирования чтобы кнопка использовалась нормально.
Измените цвет кнопки управления ActiveX с кодом VBA
Как мы видим, Excel предоставляет нам несколько цветов в диалоговом окне «Свойства». С помощью следующего простого кода VBA можно выбрать множество цветов.
1. Вставьте командную кнопку и щелкните правой кнопкой мыши, затем выберите Просмотреть код из контекстного меню см. снимок экрана:
2, Затем Окно Microsoft Visual Basic для приложений отобразится, см. снимок экрана:
3. А затем скопируйте и вставьте этот простой скрипт кода: CommandButton1.BackColor = 12713921 в окно между двумя кодами, см. снимок экрана:
Примечание: В приведенном выше кодовом сценарии CommandButton1 это название вашей кнопки, а номер 12713921 это MS-доступномер, они все переменные, вы можете изменить их по своему усмотрению.
4. Затем нажмите F5 нажмите кнопку для запуска этого кода, и цвет вашей кнопки сразу изменится.
В этой статье будут показаны некоторые методы изменения цвета ячейки при нажатии на ячейку и изменение выделенного цвета при выборе диапазона ячеек в Excel.
Изменить цвет ячейки при нажатии на ячейку с кодом VBA
Здесь вы можете изменить цвет фона ячейки, дважды щелкнув по ней или щелкнув правой кнопкой мыши с помощью следующего кода VBA.
1. На рабочем листе вы измените цвет ячейки при нажатии на нее, щелкните правой кнопкой мыши вкладку листа и нажмите Просмотреть код из контекстного меню.
2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.
VBA: изменить цвет ячейки при нажатии на нее
3. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
Затем, когда вы дважды щелкните ячейку, она будет окрашена в красный цвет. И когда вы щелкаете правой кнопкой мыши по ячейке, она будет окрашена в зеленый цвет. Смотрите скриншот:
Один щелчок, чтобы выделить строку и столбец выбранной ячейки в Excel:
Kutools for Excel's Макет для чтения Утилита помогает быстро выделить строку и столбец выбранной ячейки в Excel, как показано в демонстрации ниже.
Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная трасса)Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA
По умолчанию при выборе диапазона ячеек выделяется серый цвет. Если вы хотите сделать выбранный диапазон более заметным, вы можете изменить его цвет выделения на тот, который вам нужен. Пожалуйста, сделайте следующее.
1. Щелкните правой кнопкой мыши вкладку листа, для которой нужно изменить цвет выделения выбранного диапазона, и щелкните Просмотреть код из контекстного меню.
2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.
Код VBA: изменить выделенный цвет выбранного диапазона
3. Нажмите другой + Q ключи одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
С этого момента цвет выделенного диапазона или ячейки изменится на желтый. Когда вы щелкаете другую ячейку или диапазон ячеек, ячейки будут раскрашены автоматически.
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel
Если вы имеете дело с большим листом, необходимо выделить всю строку и столбец активной ячейки, чтобы облегчить чтение. Здесь Макет для чтения полезности Kutools for Excel могу помочь тебе.
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Нажмите Кутулс > Макет для чтения. Смотрите скриншот:
Когда макет чтения включен, вы можете видеть, что строка и столбец активной ячейки сразу выделяются.
Внимание: Вы можете изменить настройки макета чтения в зависимости от ваших потребностей, как показано на скриншоте ниже.
Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Office Tab - Tabbed Browsing, Editing, and Managing of Workbooks in Excel:
Office Tab brings the tabbed interface as seen in web browsers such as Google Chrome, Internet Explorer new versions and Firefox to Microsoft Excel. It will be a time-saving tool and irreplaceble in your work. See below demo:
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма .
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон .
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы . Предотвращение дублирования ячеек; Сравнить диапазоны .
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор .
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули , Флажки и многое другое .
- Извлечь текст , Добавить текст, Удалить по позиции, Удалить пробел ; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии .
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом .
- Комбинируйте книги и рабочие листы ; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов ; Пакетное преобразование xls, xlsx и PDF . Pivot Table Grouping by week number, day of week and more. Show Unlocked, Locked Cells by different colors; Highlight Cells That Have Formula/Name . -->
- Более 300 мощных функций . Поддерживает Office / Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint , Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Дорогая Мишель,
Я выполнил шаги, как вы описали, но код также работал в моем случае. Не подскажешь версию офиса?
Спасибо за ваш комментарий.Привет. просто немного головы. я использую офис 2007.
Я попробовал ваш код, и хотя он действительно работал, это было не то, что я искал. поэтому я просто полностью удалил код. но последняя выбранная/активная ячейка до того, как я удалил код, по-прежнему зеленая (я изменил цвет с vbYellow на vbGreen), и цвет не исчезнет. на него также не влияет цвет заливки.
самое простое решение, которое я нашел, - просто удалить ячейку. копирование и вставка не будут работать, скопируется и цвет.
просто подумал, что дам вам знать. вы можете найти другое решение/устранение неполадок, помимо удаления и ручного ввода. все равно спасибо! я подтверждаю, что код работает :)Есть ли способ просто применить это к определенным ячейкам, оставив другие ячейки доступными для ввода чисел?
Я попробовал параметр «Изменить выделенный цвет, когда ячейки выбраны с помощью кода VBA» и сохранил свой Excel как рабочий лист с поддержкой макросов. Теперь последние выбранные ячейки подсвечиваются и не выделяют другие ячейки при выборе. Я удалил код, снова ввел и сохранил, но все равно никаких изменений. Я также не могу удалить предыдущую подсветку. Я в растерянности, что делать.
Здравствуйте,
Код хорошо работает в моем случае после сохранения книги в виде книги Excel с поддержкой макросов.
Не подскажете вашу версию Excel?У меня проблема.
Я хочу изменить цвет одной гиперссылки, если она связана с одним PDF-файлом, на КРАСНЫЙ, а если не имеет ссылки с одним PDF-файлом, будет отображаться СИНИЙ цвет.
Как я могу сделать сейчас?Салам.
sy sudah install kutools, tp kok td muncul tab kutools di layar excel ya? gmn cara mmunculkannya?trimakasihПривет, ребята, поэтому я использовал первый код, чтобы изменить цвет ячейки на зеленый/красный при двойном щелчке/щелчке правой кнопкой мыши. Однако я хотел бы, чтобы этот код работал только с определенным диапазоном ячеек, в моем случае D9: P9. может кто-нибудь помочь мне, как это сделать? Я новичок в VBA
Здравствуйте,
Приведенный ниже код VBA может оказать вам услугу, попробуйте. Спасибо за ваш комментарий.Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Если (Не Application.Intersect(Target, Me.Range("D9:P9")) Is Nothing) Then
Отмена = True
Цель.Внутренний.Цвет = vbRed
End If
End Sub
Private Sub Worksheet_BeforeRightClick (ByVal Target As Range, Cancel As Boolean)
Если (Не Application.Intersect(Target, Me.Range("D9:P9")) Is Nothing) Then
Отмена = True
Цель.Внутренний.Цвет = vbGreen
End If
End SubПривет, я пытаюсь понять, как изменить цвет ячейки на основе выбора из раскрывающегося списка. Например, ВЫСОКИЙ=красный, СРЕДНИЙ=желтый, НИЗКИЙ=зеленый.
Любые советы, которые вы можете дать, очень ценятся. Благодарю вас
hi
работает решетка, но я хочу, чтобы цвет был только тогда, когда выбрана ячейка, и когда я выбираю что-то еще, первая выбранная ячейка не должна быть окрашена
можете ли вы помочь мне с этим, пожалуйста, спасибоУ меня был точно такой же вопрос! Надеюсь вам кто-нибудь ответит! Причина, по которой я ищу это, заключается в том, что у меня есть электронная таблица, которую я использую ежедневно и помещаю много информации в отдельные ячейки. Становится трудно увидеть значения (визуально они сталкиваются с информацией в других ячейках), и было бы отлично, если бы я мог изменить цвет редактируемой ячейки - только во время ее редактирования. Самое простое решение, которое я могу придумать, - это вернуть значение ячейки к тому, что было до нажатия, но я не знаю, как это сделать.
Здравствуйте,
возможно ли иметь код для «изменения цвета ячейки при нажатии на нее» таким образом, чтобы он не менял уже отформатированные ячейки другим цветом, пожалуйста?
После применения вашего кода все мое форматирование (цвета) исчезло. Спасибо. ВероникаКод работает, пока я не защищаю рабочий лист. Как только я защитил рабочий лист, поскольку у меня есть условное форматирование заблокированных ячеек, код не будет работать. Как я могу изменить это, чтобы оно работало на заблокированном листе, где пользователь может выбирать разблокированные ячейки?
Как выделить ячейку (с данными), чтобы автоматически выделить другие ячейки (данные, которые связаны с другими данными в предыдущей ячейке) щелчком по ячейке. Могу ли я это сделать. Есть ли способ сделать это?
alguien que me ayude solo quiero que al hacerle click a una celda se ponga de un color y que se mantenga ese color y si le vuelvo hacer click regrese el color original que tenia
Привет, я пытаюсь использовать опцию двойного щелчка, чтобы изменить ячейку на зеленую, но я также хочу, чтобы эта ячейка снова стала без заливки или белой, если я дважды щелкну ее, пока она зеленая. Это возможно?
Привет Ренс Борбург, Я не совсем понимаю, что вы имеете в виду. Коды следует использовать в окне кода листа, а не в окне модуля. Или вы можете предоставить скриншот окна вашего кода?
Привет, я построил панель инструментов с 37 листами, каждый со столом. Все они являются панелями блокировки, потому что они слишком большие, и мне нужно знать номер и имя студента, для которого я ввожу данные. Несмотря на это, мне приходится держать палец в левой части экрана, чтобы определить имена и номера, к которым относятся введенные данные. Итак, мне нужно определить первые две ячейки строки в столбцах «I» и «J».
Код, который я взял из Интернета и не смог изменить для двух ячеек столбцов «I» и «J», был:Dim lTarget As Range
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Если Target.Row >= 16 Тогда
Если не lTarget - это ничто, то
lTarget.EntireRow.Interior.ColorIndex = 0
End IfУстановите lTarget = Цель
End If
End SubВсе таблицы начинаются с разных строк. Этот пример начинается с 16-й строки, но я помещаю код на все страницы и адаптирую его к потребностям конкретного номера строки.
Я уже пытался изменить код с EntireRow на Range ("I16: J43"), но все ячейки в диапазоне были окрашены цветом кода.
Уже попробуйте другой способ "условного форматирования" с формулой =E($I16<>"";LIN()=CÉL("lin")) в диапазоне $I16:$J43 и в рабочем листе разработчика ", с "Application.Calculate", и это работает. Я меняю 37 рабочих листов, но копирую данные из предыдущего файла в этот новый и заметил, что параметры для вставки «значений» и т. д. исчезают с моей панели инструментов. Код должен выполнять что-то, что, например, щелчок по ячейке, больше не позволяет вставлять ее. Единственным вариантом была вставка с помощью CTRL+V.
Если кто-то может помочь мне с кодом, я удалю VBA «Application.Calculate», чтобы вернуться к доступным параметрам коллажа.
Спасибо за вашу помощь.Как вставить кнопку макроса для запуска макроса в Excel?
Вы можете загрузить полезный макрос с помощью Microsoft Excel VBA. И каждый раз, когда вы применяете макрос, вам нужно нажимать сочетания клавиш, которые вы установили для этого макроса, или нажимать Смотреть > Макрос > Выберите правильный макрос> Run. Подумайте о простых способах применения макросов? Да, вы можете создать кнопку для запуска определенного макроса либо в QAT ленты, либо в рабочей области Microsoft Excel.
Вставить кнопку макроса в рабочую область текущей книги
В этом разделе будет представлено подробное руководство по вставке кнопки макроса в рабочую область текущей книги.
1. Прежде всего, покажите разработчик Вкладка на ленте следующим образом:
(1) В Excel 2010 или более поздних версиях щелкните значок Файл > Доступные опции > Настроить лентусм. следующий снимок экрана. (Посмотрите, как в Excel 2007)
(2) В правой части проверьте разработчик вариант, а затем щелкните OK кнопку.
Если вы используете Excel 2007, щелкните значок Кнопка офиса > Параметры Excel> Популярное, и включите Показать вкладку разработчика на ленте вариант в Лучшие варианты работы с Excel .2. Во-вторых, вставьте кнопку макроса в рабочую область. Пожалуйста, нажмите разработчик > Вставить, а затем выберите первый вариант под Контроль формы раздел, см. снимок экрана:
3. Нарисуйте кнопку в рабочей области.
4. Затем появится диалоговое окно Assign Macro, выберите один макрос, который вы хотите назначить этой встроенной кнопке, и нажмите OK кнопку.
Теперь кнопка действительна для применения макроса.5. Необязательно форматировать кнопку макроса в соответствии с вашими потребностями.
Если вы хотите, чтобы кнопка макроса легко понималась и выглядела красиво, вы можете отформатировать ее. Вы можете изменить текст на кнопке, изменить назначенный макрос и отформатировать кнопку управления с помощью контекстного меню, щелкнув ее правой кнопкой мыши.
Легко вставляйте сразу несколько флажков или переключателей в Excel
Обычно мы можем вставить в ячейку только один флажок или переключатель за раз, выполняя утомительные шаги в Excel. Но Kutools для Excel Флажки пакетной вставки полезности и Кнопки параметров пакетной вставки Утилита может помочь пользователям Excel быстро вставить несколько флажков или переключателей во все выбранные ячейки. Полнофункциональная бесплатная 30-дневная пробная версия!
Вставить кнопку макроса на панели быстрого доступа на ленте
Если вы вставите кнопку макроса в рабочую область текущей книги, вы сможете применить этот макрос только в этой книге. Однако вы можете применить макрос во всех книгах, если добавите кнопку макроса на панель быстрого доступа на ленте.
1. Нажмите стрелка в верхней части ленты и выберите Другие команды… в раскрывающемся списке. См. Следующий снимок экрана:
2. В диалоговом окне «Параметры Excel» выберите Макрос пункт в команды Выбрать из раскрывающийся список, см. следующий снимок экрана;
3. Выберите и выделите макрос, который вы назначите новой кнопке;
4. Нажмите Добавить кнопку.
5. Теперь имя выбранного макроса добавлено в правое поле. Выберите имя макроса в правом поле. См. Следующий снимок экрана.
6. Нажмите Изменить кнопку.
7. в Изменить кнопку диалоговом окне выберите символ одной кнопки.
8. Нажмите OK кнопку.
Затем вернитесь к QAT на ленте, вы получите новую кнопку, назначенную макросу, который вы выбрали в Шаг 3.
Демонстрация: Вставить кнопку макроса в рабочий лист или на панель быстрого доступа
Быстро удалите все макросы из активной книги или из всех книг во многих папках
Kutools for Excel предоставляет два обходных пути для пользователей Excel, чтобы легко удалить все макросы в книге. Полнофункциональная бесплатная 30-дневная пробная версия!
- A. Удалить все макросы: Эта утилита позволяет удалить все макросы в активной книге одним щелчком мыши.
- B. Пакетное удаление всех макросов: Эта утилита может пакетно удалить все макросы нескольких книг из многих папок, не открывая эти книги вообще! Смотрите скриншот:
Для запуска процедур и макросов обычно используется событие кнопки – Click.
Свойства элемента CommandButton
Свойство Описание AutoSize Автоподбор размера кнопки. True – размер автоматически подстраивается под длину введенной надписи (заголовка). False – размер элемента управления определяется свойствами Width и Height. BackColor Цвет элемента управления CommandButton. Caption Надпись (заголовок) – текст, отображаемый на кнопке. ControlTipText Текст всплывающей подсказки при наведении курсора на кнопку. Enabled Возможность взаимодействия пользователя с элементом управления CommandButton. True – взаимодействие включено, False – отключено (цвет надписи становится серым). Font Шрифт, начертание и размер текста надписи. Height Высота элемента управления. Left Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления. Picture Добавление изображения вместо текста заголовка или дополнительно к нему. PicturePosition Выравнивание изображения и текста на кнопке. TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0. Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления. Visible Видимость элемента управления CommandButton. True – элемент отображается на пользовательской форме, False – скрыт. Width Ширина элемента управления. WordWrap Перенос текста заголовка на новую строку при достижении ее границы. True – перенос включен, False – перенос выключен. В таблице перечислены только основные, часто используемые свойства кнопки. Все доступные свойства отображены в окне Properties элемента управления CommandButton.
Пример кнопки с надписью и изображением
Примеры кода VBA Excel с кнопкой
Изначально для реализации примеров на пользовательскую форму UserForm1 добавлена кнопка CommandButton1.
Пример 1
Изменение цвета и надписи кнопки при наведении на нее курсора.
Условие примера 1
- Действия при загрузке формы: замена заголовка формы по умолчанию на «Пример 1», замена надписи кнопки по умолчанию на «Кнопка», запись цвета кнопки по умолчанию в переменную уровня модуля.
- Сделать, чтобы при наведении курсора на кнопку, она изменяла цвет на зеленый, а надпись «Кнопка» менялась на надпись «Нажми!»
- Добавление кода VBA Excel, который будет при удалении курсора с кнопки возвращать ей первоначальные настройки: цвет по умолчанию и надпись «Кнопка».
Решение примера 1
1. Объявляем в разделе Declarations модуля пользовательской формы (в самом начале модуля, до процедур) переменную myColor:
Читайте также: