Вариант 3. Выпадающий список на основе «умной» таблицы Excel.
Начиная с 2007 года таблица для Excel — уже не просто набор строк и столбцов. Если вы просто расположите показатели с привычном для нас табличном виде, то он не будет считать их таблицей. Существует специальное форматирование, после чего диапазон начинает вести себя как единое целое, приобретая целый ряд интересных свойств. В частности, он начинает сам отслеживать свои размеры, динамически изменяясь при корректировке данных.
Любой набор значений в таблице может быть таким образом преобразован. Например, A1:A8. Выделите их мышкой. Затем преобразуйте в таблицу, используя меню Главная — Форматировать как таблицу (Home — Format as Table). Укажите, что в первой строке у вас находится название столбца. Это будет «шапка» вашей таблицы. Внешний вид может быть любым: это не более чем внешнее оформление и ни на что больше оно не влияет.
Как уже было сказано выше, «умная» таблица хороша для нас тем, что динамически меняет свои размеры при добавлении в нее информации. Если в строку ниже нее вписать что-либо, то она тут же присоединит к себе её. Таким образом, новые значения можно просто дописывать. К примеру, впишите в A9 слово «кокос», и таблица тут же расширится до 9 строк.
Следовательно, автоматическое обновление набора используемой информации в выпадающем списке можно организовать, если использовать содержимое какого-либо столбца «умной» таблицы Excel.
Осталось только обозначить ее как источник. Проблема заключается в том, что программа в качестве источника в выпадающем списке не понимает выражение вида
и не считает его формулой. Хотя в обычных выражениях на листе вашей рабочей книги это вполне будет работать. Эта конструкция обозначает ссылку на первый столбец. Но в поле «Источник» она почему-то игнорируется.
Чтобы использовать «умную таблицу» как источник значений для выпадающего списка, нам придется пойти на небольшую хитрость и воспользоваться функцией ДВССЫЛ (INDIRECT в английском варианте). Эта функция преобразует текстовую переменную в обычную ссылку.
Формула теперь будет выглядеть следующим образом:
Таблица5 — имя, автоматически присвоенное «умной таблице». У вас оно может быть другим. На вкладке меню Конструктор (Design) можно изменить стандартное имя на свое (но без пробелов!). По нему мы сможем потом адресоваться к нашей таблице на любом листе книги.
«Продукт» — название нашего первого и единственного столбца, присвоено по его заголовку.
Не забудьте также заключить все выражение в кавычки, чтобы обозначить его как текстовую переменную.
Теперь если в A9 вы допишете еще один фрукт (например, кокос), то он тут же автоматически появится и в нашем выпадающем списке. Аналогично будет, если мы что-то удалим. Задача автоматического увеличения выпадающего списка значений решена.
И еще один способ создания выпадающего списка, в который будут автоматически добавляться новые значения, смотрите в этой статье: Создаем динамический выпадающий список в Excel при помощи формул.
Также рекомендую обратить внимание на это руководство: Как сделать выпадающий список с выбором нескольких значений. Надеемся, вы сможете теперь легко и быстро сделать выпадающий список в ячейке, чтобы с его помощью без ошибок вводить часто повторяющиеся данные в таблицу Excel
Надеемся, вы сможете теперь легко и быстро сделать выпадающий список в ячейке, чтобы с его помощью без ошибок вводить часто повторяющиеся данные в таблицу Excel.
Разделение строки меню в Excel: назначение и применение
Строка меню в Excel представляет собой набор различных функциональных инструментов, которые помогают пользователю максимально эффективно работать с данными и формулами в таблицах программы. В некоторых случаях, строка меню может стать слишком большой и запутанной, что затруднит поиск нужной команды.
Для облегчения использования и обеспечения удобства работы, Excel предоставляет возможность разделения строки меню на несколько частей. Это позволяет пользователю разместить команды в различных категориях или группах. Разделение строки меню может быть осуществлено следующими способами:
1. Вкладки – наиболее распространенный способ разделения строки меню. Вкладки представляют собой горизонтальные панели, каждая из которых содержит набор команд определенной категории. Обычно вкладки называются «Главная», «Вставка», «Расширение данных», «Макет страницы» и др. Они позволяют пользователю быстро находить и использовать необходимые функции и стили.
2. Группы команд – разделение вкладки на несколько групп позволяет более детально организовать команды. Например, вкладка «Главная» может содержать группы команд «Ячейки», «Числа» и «Шрифт», каждая из которых имеет свой набор соответствующих функций.
3. Всплывающие кнопки – при нажатии на определенную команду, может появиться всплывающее окно с дополнительными вариантами или функциями. Например, при выборе команды «Сортировка» открывается всплывающее окно с опциями сортировки по возрастанию или убыванию, выбором столбца и др.
4. Контекстные вкладки – некоторые команды и функции появляются только в определенных ситуациях и контексте. Например, при выделении диапазона ячеек или графика, может появиться специальная вкладка с командами связанными с этим элементом.
Разделение строки меню в Excel позволяет пользователю удобно находить и использовать необходимые функции и инструменты, повышая эффективность работы с данными и упрощая создание и форматирование таблиц.
Что такое активная клетка?
Активная ячейка, также известная как указатель ячейки или выделенная ячейка, означает ячейку в электронной таблице Excel, которая в данный момент находится в режиме выделения. Обычно активная ячейка имеет толстую рамку вокруг нее.
Каждая ячейка в Excel имеет уникальный адрес, который обозначается буквой столбца и номером строки, например, адрес ячейки C7 ячейка показана на рисунке ниже.
Примечание : Письмо ( C ) относится к Колонки в то время как число ( 7) представляет собой Строки .
Итак, рабочий лист в Excel содержит около 17 миллиардов ячеек, и последняя ячейка в рабочем листе имеет адрес XFD1048576 . Здесь, XFD это Колонка письмо, в котором 1048576 это Строка число.
Изменение активной ячейки
В этой части мы узнаем, как перемещаться по рабочему листу Excel, так что давайте начнем.
Для того чтобы изменить активную ячейку, вы можете использовать функцию Стрела ключи ( Вверх , Вниз , Слева и Справа ) на клавиатуре или вы можете Щелкните левой кнопкой мыши мышью, чтобы перейти в любую ячейку.
Например, если вы нажмете на правую Стрелка активная ячейка переместится вправо от текущей активной ячейки.
Далее, адрес активной в данный момент ячейки отображается в окне Именная коробка в левом верхнем углу.
Несколько ячеек работают как активные ячейки
Вообще говоря, вы можете выбрать несколько ячеек в электронной таблице, однако одновременно активной может быть только одна ячейка. Здесь, хотя мы выбрали несколько ячеек ( B5:D9 ), только B5 ячейка активна.
Чтобы облегчить нам жизнь, в Excel есть замечательный прием, позволяющий заполнить сразу несколько строк определенным значением или текстом. Итак, просто выполните следующие действия.
Шаги :
- Сначала выделите диапазон ячеек, здесь мы выделили ячейку B5:D9 клетки.
- Теперь введите текст или любое значение в поле Формула бара что в данном случае является, Exceldemy .
- Наконец, нажмите кнопку CTRL + ENTER клавиши на клавиатуре.
Результат должен выглядеть так, как показано на рисунке ниже.
Форматирование активной ячейки
Разумеется, мы не обсудили, как ввести значение в ячейку, поэтому давайте рассмотрим этот процесс подробнее.
Шаги :
Первоначально нажмите кнопку F2 клавиша или Дважды щелкните нажмите левую кнопку мыши, чтобы войти в Режим редактирования в Excel.
Затем введите значение или текст, например Exceldemy и нажмите кнопку ENTER ключ.
Вот и все, вы поместили текст в ячейку.
1. использование опции Формат ячеек
Учитывая Список цен на акции компании набор данных, представленный в B4:D13 клеток. Здесь набор данных показывает. Компания название, его Тикер , и Цена акций соответственно.
Теперь мы хотим отформатировать Цена акций столбец для отображения цен в долларах США.
Шаги :
Прежде всего, выберите D5:D13 ячейки>> Щелкните правой кнопкой мыши, чтобы открыть список>> выберите Форматирование ячеек варианты.
Теперь, это открывает Форматирование ячеек диалоговое окно.
Далее нажмите кнопку Номер вкладка>> в Валюта выберите 2 знака после запятой >> удар OK .
В конечном счете, этот формат Цены на акции в долларах США.
2. Использование сочетания клавиш
Разве не было бы здорово, если бы существовала комбинация клавиш для Форматирование ячеек Что ж, вам повезло, потому что следующий метод отвечает на ваш вопрос. Итак, давайте посмотрим его в действии.
Шаги :
Прежде всего, выберите D5:D13 ячейки>> нажмите кнопку CTRL + 1 ключи.
Теперь, это открывает Форматирование ячеек волшебник.
Следовательно, этот формат Цены на акции в долларах США, как показано на рисунке ниже.
3. Применение кода VBA
Если вам часто приходится форматировать столбец в валюту, то вы можете рассмотреть вариант VBA код ниже. Это просто & легко, просто следуйте за ним.
Шаги :
Во-первых, перейдите к Разработчик вкладка>> нажмите кнопку Visual Basic кнопка.
Это открывает Редактор Visual Basic в новом окне.
Во-вторых, зайдите на Вставка вкладка>> выбрать Модуль .
Для удобства вы можете скопировать код отсюда и вставить его в окно, как показано ниже.
Разбивка кода:
Теперь я объясню VBA код, используемый для генерации оглавление .
- В первой части подпрограмме присваивается имя, вот оно Формат_ячейки() .
- Далее используйте Свойство ActiveSheet чтобы активировать рабочий лист, в данном случае, Использование кода VBA .
- Затем используйте Метод Range.Select чтобы указать столбец, который нужно отформатировать.
Наконец, введите Свойство NumberFormat чтобы получить результат в долларах США.
В-третьих, закройте VBA окно>> нажмите кнопку Макросы кнопка.
Это открывает Макросы диалоговое окно.
После этого выберите Формат_ячейки макрос>> ударить по Запускайте кнопка.
Впоследствии вывод должен выглядеть так, как показано на рисунке ниже.
Добавление кнопки в контекстное меню
Добавление кнопки из кода VBA Excel в контекстное меню ячейки. Кнопки в контекстные меню строк и столбцов добавляются аналогично.
1 |
‘Объявляем объектную переменную cmdBarBut DimcmdBarBut AsCommandBarButton ‘Создаем временную (Temporary:=True) кнопку для контекстного SetcmdBarBut=Application.CommandBars(«Cell»).Controls.Add(Temporary=True) WithcmdBarBut ‘Присваиваем кнопке название .Caption=»Новая кнопка» ‘Задаем отображение в контекстном меню только названия кнопки .Style=msoButtonCaption ‘Назначаем кнопке процедуру (макрос) .OnAction=»MySub» EndWith |
Если хотите создать постоянную кнопку для контекстного меню, используйте параметр метода в значении , которое применяется по умолчанию:
1 | SetcmdBarBut=Application.CommandBars(«Cell»).Controls.Add |
Способ 3 — как в excel сделать выпадающий список с использованием ActiveX
Чтобы воспользоваться этим способом, необходимо чтобы у вас была включена вкладка «РАЗРАБОТЧИК». По умолчанию эта вкладка отсутствует. Чтобы ее включить:
- Нажмите на «Файл» в левом верхнем углу приложения.
- Выберите пункт «Параметры» и нажмите на него.
- В окне настройки параметров Excel во вкладке «Настроить ленту» поставьте галочку напротив вкладки «Разработчик».
Включение вкладки «РАЗРАБОТЧИК»
Теперь вы сможете воспользоваться инструментом «Поле со списком (Элемент ActiveX)». Во вкладке «РАЗРАБОТЧИК» нажмите на кнопку «Вставить» и найдите в элементах ActiveX кнопку «Поле со списком (Элемент ActiveX)». Нажмите на нее.
Нарисуйте данный объект в excel выпадающий список в ячейке, где вам необходим выпадающий список.
Теперь необходимо настроить данный элемент. Чтобы это сделать, необходимо включить «Режим конструктора» и нажать на кнопку «Свойства». У вас должно открыться окно свойств (Properties).
С открытым окном свойств нажмите на ранее созданный элемент «Поле со списком». В списке свойств очень много параметров для настройки и вы сможете изучив их, настроить очень много начиная от отображения списка до специальных свойств данного объекта.
Но нас на этапе создания интересуют только три основных:
- ListFillRange — указывает диапазон ячеек, из которых будут браться значения для выпадающего списка. В моем примере я указал два столбца (A2:B7 — дальше покажу как это использовать). Если необходимо только одни значения указывается A2:A7.
- ListRows — количество данных в выпадающем списке. Элемент ActiveX отличается от первого способа тем, что можно указать большое количество данных.
- ColumnCount — указывает сколько столбцов данных указывать в выпадающем списке.
В строке ColumnCount я указал значение 2 и теперь в списке выпадающие данные выглядят вот так:
Как видите получился выпадающий список в excel с подстановкой данных из второго столбца с данными «Поставщик».
Ввод и редактирование данных в ячейках
- Для ввода данных в одну ячейку достаточно сделать ее активной и начать набирать текст, при этом мы входим в режим редактирования данных в ячейке. Для выхода из режима редактирования нужно нажать «Enter» или «Tab» (). Если до этого в ячейке были данные, они сотрутся;
- Для ввода одинаковых данных во многие ячейки, выделяем нужные ячейки, пишем текст, и, не выходя из режима редактирования, нажимаем «Ctrl+Enter»;
- Для изменения данных в ячейке, делаем ее активной и делаем на ней двойной щелчок;
- Для изменения данных в ячейке, делаем ее активной и нажимаем «F2»;
- Для изменения данных в ячейке, делаем ее активной, щелкаем в строке формул, и в ней изменяем содержимое ячейки, для завершения нажимаем «Enter», либо зеленую галочку слева.
- Для принудительного ввода разрыва строки достаточно в нужном месте текста ячейки нажать «Alt+Enter»
Добавление примечания к ячейке
Для вставки примечания делаем одно из указанных ниже действий:
- Щелкаем правой кнопкой в нужный ячейке > «Добавить примечание» > Пишем текст примечания и оформляем > щелкаем за пределами примечания для завершения;
- Выделяем нужную ячейку > меню «Вставка» > «Примечание» > … ;
Откроется окошко, в верхней части которого вставится имя текущего пользователя. В нём пишем текст примечания, причем его можно оформлять (шрифт, начертание, цвет, выравнивание). Для завершения щелкаем за пределами примечания.
В верхнем правом углу ячейки с примечанием появится красный треугольник. При наведении мыши на эту ячейку появится примечание:
К тексту примечания применимы некоторые приемы форматирования (размер, вид шрифта и др.)
При щелчке правой кнопкой на ячейке с примечанием в контекстном меню появятся пункты для работы с примечанием:
С пунктами 1-2 все понятно. Альтернативный способ удалить примечание: меню «Правка» —> «Очистить» —> «Примечания».
Команда «Отобразить или скрыть примечание» делает так, чтобы примечание всегда отображалось, даже без наведения на ячейку мыши. Есть способ отобразить разом все примечания во всех ячейках: меню «Вид» —> «Примечания». При этом откроется панель инструментов «Рецензирование», в котором находятся некоторые дополнительные команды для работы с примечаниями.
Если в этом режиме щелкнуть правой кнопкой мыши на границу примечания, в контекстном меню появится команда «Формат примечания», после выбора которой открывается окно «Формат примечания». В этом окне можно поменять заливку, границы, направление текста и другие настройки примечания.
Если при создании примечание не помещается, раздвиньте сразу границы. Автоматически границы не подгоняются и пользователю потом будет видно не все примечание.
Маркер автозаполнения
В нижнем правом углу выделенной (активной) ячейки или выделенного диапазона ячеек можно видеть небольшой квадратик — маркер автозаполнения.
При наведении на него, указатель становится тонким крестиком, за который можно «схватиться» левой или правой кнопкой мыши и потащить вниз, вверх, вправо или влево. Это может использоваться в разных целях:
- Копирование данных 1 в 1 в другие ячейки (чисел, текста, формул);
- Создание арифметических и геометрических прогрессий;
- Создание различных встроенных в Excel последовательностей (названия месяцев, дней недели, даты, время);
- Продолжение пользовательских настраеваемых последовательностей;
- Копирование оформления ячеек.
Если потянуть за маркер правой кнопкой, после ее отпускания откроется контекстное меню, в котором можно найти дополнительные команды для копирования оформления ячеек, создания прогрессий и последовательностей дат:
Если протянуть маркер автозаполнения через ячейки, в которых уже есть какие-то данные, данные будут перезаписаны.
Очистка данных в ячейках и удаление ячеек
- Выделяем «нужные» ячейки и нажимаем «Delete»;
- Выделяем «нужные» ячейки, щелкаем правой кнопкой и выбираем «Очистить содержимое»;
- Выделяем «нужные» ячейки, заходим в меню «Правка» > «Очистить» > «Выбираем нужный вариант»;
- Клавиша очищает содержимое активной (одной!) ячейки и включает режим редактирования. Ее удобно использовать при необходимости удалить одно (не все, как по "Delete") значение из выделенного диапазона;
- Если «родную» неотформатированную ячейку протащить с помощью маркера автозаполнения по отформатированным, произойдет своего рода удаление;
- пункт меню «Правка» > «Удалить…» и пункт контекстного меню «Удалить…» приведет к открытию окна «Удаление ячеек».
В отличие от предыдущих способов (очистка), при этом способе данные из ячеек не просто стираются, а со смещением всех соседних ячеек, строк и столбцов. Меняется строение всей таблицы.
Как настроить контекстное меню в Excel
Контекстное меню в Excel позволяет быстро получить доступ к различным командам и функциям программы. Но что делать, если вам необходимо настроить это меню под свои нужды? В этом шаг за шагом руководстве мы расскажем, как это сделать.
Шаг 1: Откройте настройки Excel
Сначала откройте программу Excel и перейдите в раздел «Файл». В выпадающем меню выберите пункт «Параметры».
Шаг 2: Перейдите во вкладку «Настройки ленты»
В окне настроек выберите вкладку «Настройки ленты». Здесь вы найдете различные опции для настройки интерфейса Excel.
Шаг 3: Редактируйте контекстное меню
На вкладке «Настройки ленты» найдите раздел «Пользовательские команды», где вы сможете настроить контекстное меню. Нажмите на кнопку «Новая вкладка» или «Новая группа» в рамках этого раздела.
Шаг 4: Настройте вкладку или группу
Выберите во вкладке «Настройки ленты» созданную вами вкладку или группу и нажмите на кнопку «Переименовать». Задайте ей название контекстного меню, которое будет отображаться в Excel.
Шаг 5: Добавьте команды
Перейдите в раздел «Выберите команды из:», чтобы добавить необходимые команды или функции в свое контекстное меню. Просто выделите нужный пункт из списка и нажмите кнопку «Добавить».
Шаг 6: Переместите или удалите команды
Если вы хотите изменить порядок команд или удалить некоторые из них, просто выделите нужный пункт и используйте кнопки «Переместить вверх», «Переместить вниз» или «Удалить».
Шаг 7: Примените изменения
После того, как вы настроите контекстное меню в Excel, нажмите кнопку «Ок» в окне настроек, чтобы сохранить все изменения. Теперь ваше контекстное меню будет работать согласно ваших настроек.
Теперь вы знаете, как настроить контекстное меню в Excel. Используйте эту функцию, чтобы сделать свою работу в Excel более эффективной и удобной.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Эта цепочка заблокирована. Вы можете просмотреть вопрос или оставить свой голос, если сведения окажутся полезными, но вы не можете написать ответ в этой цепочке.
Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.
Добавить элемент в контекстное меню можно следующем образом.
Внимание! Перед внесением изменений рекомендуется создать резервную копию системного реестра и изучить процедуру его восстановления. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см
в следующей статье базы знаний Майкрософт:
256986 Описание реестра Microsoft Windows
1. Нажмите правой кнопкой мыши на кнопку Пуск -> Выполнить и введите команду regedit
2. Затем разверните ключ HKEY_CLASSES_ROOT
3. В данном каталоге найдите ключь с названием формата нужно файла (в данном случае это .docx)
4. В ключе .docx создайте ключь ShellNew (Правой кнопкой мыши в том же самом окне Создать -> Ключь и назовите его ShellNew )
5. В ключе ShellNew в соседним окне необходимо нажать правой кнопкой мыши Создать -> Строковый параметр назовите его NullFile и задайте его значение как 1.
После этого у Вас должна появиться возможность создать новый документ Word из контекстного меню.
Чтобы удалить элемент из контекстного меню, необходимо найти его разрешение (.ppt .xml и так далее) в каталоге HKEY_CLASSES_ROOT и удалить ключь (папку) ShellNew для этого элемента.
Иногда необходимо сделать ещё несколько действий, чтобы добавить элемент в контекстное меню.
Всё что Вы сделали до этого, Вы сделали правильно и теперь нужно сделать следующие:
1. Создайте новый пустой файл Word и назовите его template.docx
2. Поместите данный файл в папку C:\Windows\ShellNew
3. В реестре в ключе HKEY_CLASSES_ROOT\.docx\ShellNew (тоже самое место, где Вы создавали параметр в прошлый раз) создайте новый строковой параметр Создать->Строковый параметр назовите его FileName и задайте его значение как C:\Windows\ShellNew\template. docx
4. Перезагрузите компьютер
Более подробную информацию касательно данной проблемы, Вы можете найти в следующей статье.
Панель быстрого доступа
Панель быстрого доступа позволяет настроить быстрый доступ к часто используемым командам и функциям.
Если вы часто используете какие-то конкретные команды Excel, не обязательно каждый раз переходить на нужную вкладку. Для более быстрого доступа к таким командам воспользуйтесь панелью быстрого доступа, которая расположена в левом верхнем углу.
Нажатие кнопки панели быстрого доступа
приведет к открытию контекстного меню, в котором вы сможете поставить галочки у наиболее часто используемых опций.
Кнопка Другие команды откроет окно, в котором можно будет выбрать из всех доступных команд.
Необходимо выбрать в лево части окна команду и нажать кнопку Добавить.
Выбранные вами команды будут доступны в левом верхнем углу каждого документа, независимо от того, какая вкладка открыта.
Форматирование ячеек
Команда Формат – Ячейка предназначена для выполнения основных действий с ячейками. Действие будет выполнено с активной ячейкой или с группой выделенных ячеек. Команда содержит следующие подрежимы:
ЧИСЛО – позволяет явно определить тип данных в ячейке и форму представления этого типа. Например, для числового или денежного формата можно определить количество знаков после запятой.
ВЫРАВНИВАНИЕ – определяет способ расположения данных относительно границ ячейки. Если включен режим “ПЕРЕНОСИТЬ ПО СЛОВАМ”, то текст в ячейке разбивается на несколько строк. Режим позволяет расположить текст в ячейке вертикально или даже под выбранным углом.
ШРИФТ – определяет параметры шрифта в ячейке (наименование, размер, стиль написания).
ГРАНИЦА – обрамляет выделенные ячейки, при этом можно определить толщину линии, ее цвет и местоположение.
ВИД – закрашивает фон ячеек с помощью выделенного цвета или узора.
ЗАЩИТА – устанавливается защита на внесение изменений.
Примеры добавления и удаления кнопок
Пример 1
Добавление кнопки в контекстное меню ячейки из кода VBA Excel при открытии книги и удаление кнопки при закрытии книги.
Добавление кнопки (код размещается в модуле книги):
1 |
PrivateSubWorkbook_Activate() DimcmdBarBut AsCommandBarButton On ErrorResumeNext SetcmdBarBut=Application.CommandBars(«Cell»).Controls.Add(Temporary=True) WithcmdBarBut .Caption=»Новая кнопка» .Style=msoButtonCaption .OnAction=»MySub» EndWith On ErrorGoTo EndSub |
Удаление кнопки (код размещается в модуле книги):
1 |
PrivateSubWorkbook_Deactivate() On ErrorResumeNext Application.CommandBars(«Cell»).Controls(«Новая кнопка»).Delete On ErrorGoTo EndSub |
Вызываемая процедура (код размещается в стандартном модуле):
1 |
SubMySub() MsgBox»Кнопка работает!» EndSub |
Пример 2
Добавление кнопки в контекстное меню ячейки из кода VBA Excel при открытии контекстного меню и удаление кнопки при завершении вызываемой процедуры.
Добавление кнопки (код размещается в модуле книги):
1 |
PrivateSubWorkbook_SheetBeforeRightClick(ByValSh AsObject,ByValTarget AsRange,Cancel AsBoolean) DimcmdBarBut AsCommandBarButton On ErrorResumeNext WithApplication ‘Удаляем ранее созданную кнопку, если она не была ‘нажата и не была удалена назначенным ей макросом .CommandBars(«Cell»).Controls(«Новая кнопка»).Delete SetcmdBarBut=.CommandBars(«Cell»).Controls.Add(Temporary=True) EndWith WithcmdBarBut .Caption=»Новая кнопка» .Style=msoButtonCaption .OnAction=»MySub» EndWith On ErrorGoTo EndSub |
Удаление кнопки при закрытии книги, если она при вызове контекстного меню не была нажата и не была удалена назначенным ей макросом (код размещается в модуле книги):
1 |
PrivateSubWorkbook_Deactivate() On ErrorResumeNext Application.CommandBars(«Cell»).Controls(«Новая кнопка»).Delete On ErrorGoTo EndSub |
Вызываемая процедура с кодом удаления вызвавшей ее кнопки из контекстного меню (код размещается в стандартном модуле):
1 |
SubMySub() MsgBox»Кнопка работает!» On ErrorResumeNext Application.CommandBars(«Cell»).Controls(«Новая кнопка»).Delete On ErrorGoTo EndSub |