Подсказка к изображению (Microsoft Excel)
Эдди добавил небольшое графическое изображение на рабочий лист и привязал к нему макрос. При щелчке по изображению выполняется макрос. Эдди задается вопросом, можно ли добавить к изображению метку или комментарий, чтобы при наведении указателя мыши на изображение появлялась метка / комментарий и сообщала пользователю, что делает макрос.
Сначала вы могли подумать, что можете добавить всплывающую подсказку к изображению, но это можно сделать только в том случае, если вы назначите на него гиперссылку. Добавить гиперссылку (и всплывающую подсказку) достаточно просто, но вы обнаружите, что гиперссылка имеет приоритет над макросом, останавливая его запуск.
Это означает, что вам нужно искать другие способы решения проблемы.
К сожалению, нет простого способа создать всплывающую подсказку такого типа, но есть несколько способов подойти к этой задаче. Вы можете добавить на лист командную кнопку, а затем назначить ей изображение. Затем все изображение служит кнопкой. Когда вы нажимаете кнопку, запускается обработчик событий CommandButton1_Click (при условии, что вы используете имя по умолчанию для командной кнопки).
Затем вам нужно создать текстовое поле, которое приблизительно соответствует тому, как выглядит всплывающая подсказка. На самом деле текстовое поле дает вам больше свободы действий, чем обычная всплывающая подсказка, потому что его можно форматировать любым желаемым образом, и оно может содержать любой пояснительный текст, который вы хотите. Все, что вам нужно сделать, это убедиться, что текстовому полю присвоено уникальное имя, например «MyShape». (Вы назначаете имя текстовому полю, выбирая его, а затем меняя имя в поле «Имя» в верхнем левом углу области рабочего листа.)
Установив командную кнопку и текстовое поле на свои места, щелкните ее правой кнопкой мыши и выберите отображение окна кода для командной кнопки. Затем добавьте в окно кода следующий код:
Private Sub CommandButton1_Click() 'Call your regular macro here Hide_Shape End Sub
Private Sub CommandButton1_MouseMove( _ ByVal Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) Display_and_Hide_Shape End Sub
Это обработчик событий Click, который вам нужно будет изменить для вызова обычного кода макроса. Код MouseMove выполняется при наведении указателя мыши на командную кнопку. В этом случае код отображает созданное вами текстовое поле.
Затем вставьте следующие макросы в стандартный макромодуль. Эти два макроса показывают и скрывают созданную вами форму текстового поля. Обратите внимание, что первый макрос использует метод OnTime для автоматического скрытия фигуры через две секунды после ее первого отображения.
Sub Display_and_Hide_Shape() ActiveSheet.Shapes("MyShape").Visible = True ' adjust time Application.OnTime Now + TimeValue("00:00:02"), "Hide_Shape" End Sub
Sub Hide_Shape() ActiveSheet.Shapes("MyShape").Visible = False End Sub
Установив все макросы, просто наведите указатель мыши на изображение командной кнопки. Текстовое поле должно исчезнуть через две секунды и снова появится, когда вы снова наведете указатель мыши на изображение.
Другой подход — встроить изображение в объект диаграммы, присвоить изображению имя, используя любой текст, который вы хотите отобразить во всплывающей подсказке, а затем назначить макрос объекту диаграммы. Это может показаться немного запутанным, но это относительно легко сделать, выполнив следующие общие шаги:
-
Создайте пустой объект диаграммы. Вы можете сделать это, просто выбрав пустую ячейку, вставив диаграмму и сразу же нажав кнопку «Готово». На диаграмме ничего не будет, поэтому это «пустой объект диаграммы».
-
Затем добавьте изображение к объекту диаграммы. Просто скопируйте изображение в буфер обмена, затем выберите пустой объект диаграммы (вы создали его на шаге 1) и вставьте содержимое буфера обмена.
-
Отрегулируйте размер как объекта диаграммы, так и изображения внутри объекта диаграммы, чтобы они соответствовали вашим потребностям.
-
Выберите изображение в объекте диаграммы, а затем дайте изображению имя, изменив все, что находится в поле «Имя» в верхнем левом углу области рабочего листа. Это имя должно быть текстом, который вы хотите использовать в качестве всплывающей подсказки.
-
Теперь назначьте свой макрос объекту диаграммы (а не изображению внутри объекта диаграммы), щелкнув правой кнопкой мыши объект диаграммы и выбрав «Назначить макрос».
Вот и все. Теперь, когда вы наводите указатель мыши на изображение, имя изображения появляется как всплывающая подсказка, и если вы щелкнете, то будет выполнен макрос, назначенный объекту диаграммы.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (724) относится к Microsoft Excel 2007, 2010 и 2013. Вы можете найти версию этого совета для более старого интерфейса меню Excel здесь:
link: / excel-ScreenTip_for_an_Image [всплывающая подсказка для изображения]
.