Note: The other languages of the website are Google-translated. Back to English

Як додати користувацьку кнопку в правому кліці / контекстному меню в Excel?

Як показано нижче на скріншотах, багато людей, як правило, додають свої часто використовувані функції в меню правої кнопки миші Excel, щоб у майбутньому швидко використовувати ці функції лише одним клацанням миші. У цій статті йдеться про додавання кнопки власного коду до меню правою кнопкою миші в Excel.

Додайте спеціальну кнопку в контекстне меню в Excel із кодом VBA


Додайте спеціальну кнопку в контекстне меню в Excel із кодом VBA

Припустимо, ви створили скрипт VBA з назвою MyMacro у своєму Excel, і тепер вам потрібно додати цю функцію до контекстного меню для запуску коду, просто натиснувши його. Будь ласка, виконайте наступне.

1 Натисніть кнопку інший + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.

2 В Microsoft Visual Basic для додатків вікно, двічі клацніть ThisWorkbook в лівій Проекти панелі. А потім скопіюйте та вставте наведений нижче код VBA в Ця робоча книга (код) вікна.

Код VBA: додайте спеціальну кнопку до контекстного меню в Excel

Private Sub Workbook_Deactivate()
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
        End With
    On Error GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim cmdBtn As CommandBarButton
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
            Set cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
        End With

        With cmdBtn
           .Caption = "MyMacro"
           .Style = msoButtonCaption
           .OnAction = "MyMacro"
        End With
    On Error GoTo 0
End Sub

примітки: У коді, будь ласка, замініть усі "MyMacro" з назвою макросу, яку ви створили у своєму Excel.

3 Натисніть кнопку інший + Q клавіші для виходу з Microsoft Visual Basic для додатків вікна.

Тепер ви повертаєтесь до інтерфейсу Excel, клацнувши правою кнопкою миші на комірці, ви побачите, як нова кнопка із зазначеним іменем додається до меню правої кнопки миші, як показано на знімку екрана нижче. Натискання кнопки негайно активує відповідний макрос.


Статті по темі:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (15)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Додати кнопку VBA до контекстного меню добре працює. Спасибі. Як додати більше кнопок? (не добре в VBA, звідси питання).
Цей коментар був мінімізований модератором на сайті
Привіт Вік!
Наведений нижче код VBA може допомогти вам вирішити проблему, будь ласка, спробуйте.

Приватна підручна книга_деактивувати ()
Dim xArrB як варіант
Dim xFNum як ціле число
Dim xStr як рядок
On Error Resume Next
З додатком
xArrB = масив ("MyMacro01", "MyMacro02", "MyMacro03")
Для xFNum = 0 до UBound(xArrB)
xStr = xArrB(xFNum)
.CommandBars("Cell").Controls(xStr).Delete
Далі xFNum
Кінець з
При помилці GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh як об’єкт, ByVal Target як діапазон, скасувати як логічний)
Загасити cmdBtn як кнопку CommandBar
Dim xArrB як варіант
Dim xFNum як ціле число
Dim xStr як рядок
On Error Resume Next
xArrB = масив ("MyMacro01", "MyMacro02", "MyMacro03")
Для xFNum = 0 до UBound(xArrB)
xStr = xArrB(xFNum)
З додатком
.CommandBars("Cell").Controls(xStr).Delete
Встановіть cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
Кінець з
За допомогою cmdBtn
.Caption = xStr
.Style = msoButtonCaption
.OnAction = xStr
Кінець з
Далі xFNum
При помилці GoTo 0
End Sub
Цей коментар був мінімізований модератором на сайті
Це не працює для мене, я зробив те ж саме, що і вищевказаний макрос, лише з одним меню. Чи працює це для когось іншого, чи я роблю щось не так?

Дякую
Цей коментар був мінімізований модератором на сайті
Не працюйте з моїм Excel 2013
Цей коментар був мінімізований модератором на сайті
Привіт, Ів, я перевірив цей код у Excel 2013, і він працює добре. Ви отримували повідомлення про помилку? Мені потрібно дізнатися більше про вашу проблему
Цей коментар був мінімізований модератором на сайті
Дякую за відповідь, але не працює на столі. На звичайній камері працює ідеально.
Цей коментар був мінімізований модератором на сайті
Привіт, Ів! Тепер проблема зрозуміла, і мені потрібен час, щоб її виправити. Будь ласка, зачекайте. Спасибі за ваш відгук.
Цей коментар був мінімізований модератором на сайті
Спасибі
Цей коментар був мінімізований модератором на сайті
Дякую
Чи працює це для всіх книг навіть після перезапуску Excel, чи лише для вибраної книги, в якій збережено макрос?
Цей коментар був мінімізований модератором на сайті
привіт,
Це працює лише для книги, в якій зберігається макрос. Дякуємо за коментар.
Цей коментар був мінімізований модератором на сайті
Розмістити код в окремому модулі, щоб це працювало для всіх документів
Цей коментар був мінімізований модератором на сайті
Привіт,

Je déterre le sujet car j'ai un soucis, j'ai récupérer un fichier qui m'a remplacé le menu du click droit et je ne sais pas comment revenir au menu par défaut...
Ça a modifier le menu pour n'importe quel fichier excel. Використовуйте excel 2016.

Je précise que le fichier coupable un mot de passe pour accédà sin code VBA. Mot de passe qu'évidemment je ne possède pas..

Merci d'avance pour votre aide !!
Цей коментар був мінімізований модератором на сайті
Привіт Олів'є,
Вибачте, я не зовсім розумію, що ви маєте на увазі. Ви хочете повернутися до звичайного меню, що відкривається правою кнопкою миші?
Цей коментар був мінімізований модератором на сайті
Zdravím dokázal byste mi prosím někdo poradit s podobným problémem? По останньому оновленню Office призначено в excelu для стиснення правого натискача над копіюванням і виявлення бажання тримати в набідках ктеру ми там вади і хотіти їх видалити. Dá se to udělat i obráceně a nějakou funkci deleted?

děkuji
Цей коментар був мінімізований модератором на сайті
Привіт Томаш,
Я не стикався з такою ситуацією. Чи можете ви додати знімок екрана, щоб більш чітко описати проблему, з якою ви зіткнулися.
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL