Контекстное меню Excel VBA

Проблема: Когда вы пытаетесь изменить ContextMenu("Ячейка") (щелчок правой кнопкой мыши в ячейке), иногда вы можете увидеть, как изменилось контекстное меню, а иногда нет.

Вы когда-нибудь задумывались, почему? Я поделюсь этим, чтобы сэкономить время другого новичка.

Для примера Рон де Брюин "Как построить и изменить ContextMenu"

1 ответ

Причина: Excel имеет разные ContextMenu с тем же именем (в данном случае Cell), которые отображаются только в определенных ситуациях. Например, в зависимости от текущего режима макета (Просмотр разрыва страницы или Обычный) он будет вызывать другое меню.

Решение: Кредит переходит к MrExcel.

Установите другой элемент управления командной строки как:

Dim ContextMenu    as Commandbar
Dim ContextMenuPBP as CommandBar

Set ContextMenu = Application.CommandBars("Cell")
Set ContextMenuPBP = Application.CommandBars.FindControl(ID:=1588).Parent

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

Другие вопросы по тегам