Как отобразить всплывающую подсказку на столбчатой ​​диаграмме Excel, содержащейся в защищенном листе (UserInterfaceOnly)? - PullRequest
0 голосов
/ 22 мая 2019

У меня есть столбчатая диаграмма со множеством рядов, с легендой и т. Д. Мне нужно отобразить всплывающую подсказку, когда мышь наводит курсор на серию, и хорошо, что я достиг этого, используя код из Здесь .Единственная проблема - я хочу, чтобы пользователь не удалял диаграмму и не перемещал ее.Поэтому я защищаю лист с помощью

ActiveWorkbook.Worksheets("Sheet1").Protect Password:="Password", UserInterfaceOnly:=True

Теперь, так как я защитил его, макрос может сделать диаграмму активной и по-прежнему работать с ней, но пользователь не может ее активировать.Моя программа подсказок работает только в том случае, если пользователь может активировать график.Вот снимок (Пустышка)

Tooltip shows on one of the series in Picture

Как сохранить защиту листа, а также разрешить пользователю активировать диаграмму, которая отображает подсказку?

1 Ответ

0 голосов
/ 22 мая 2019

Я думаю, что это возможно (с использованием Excel 365, и я думаю, 2007 и новее):

1) Разблокируйте свой лист.

2) Щелкните правой кнопкой мыши на вашем графике и выберите «Назначить»macro ... ", затем назначьте макрос, который отображает всплывающую подсказку для этого графика.

3) Заблокируйте свой лист с отключением редактирования объектов.

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

Существуют также события, которые могут запустить подходящий макрос, например, снять защиту с листа (при активации) и защитить при деактивации.Вы также можете поймать, когда пользователь пытается отредактировать диаграмму, используя событие по клику и отключив его: https://docs.microsoft.com/en-us/office/vba/excel/concepts/events-worksheetfunctions-shapes/chart-object-events

...