Как создать ролловер эффект в Excel — выполнение макроса во время наведения курсора на ячейку в Excel

В сегодняшней статье мы рассмотрим, как с помощью небольшого макроса и условного форматирования создать ролловер эффект в Excel. Данный эффект используется для подсвечивания элемента при наведении мышки на кнопку или ссылку. В нашем случае мы реализуем работу Excel таким образом, чтобы при наведении курсора на ячейку, цвет фона менялся.

Данная технология описана на сайте Джордана Голдмайера optionexplicitvba

Зачем вообще использовать ролловер эффект? Основная идея в том, чтобы отобразить какую-нибудь информацию или выделить элемент интерфейса во время наведения на него мышкой. В первом случае данный функционал уже реализован с помощью комментариев. Но в поддержку данной методики скажу, что комментирование ограничено теми инструментами, которые предоставляет нам Excel, в то время как написание макросов ограничено лишь нашей фантазией. Плюс ко всему, данную технику можно использовать для реализации интересных дизайнерских решений.

Итак, преступим. Нам понадобится функция ГИПЕРССЫЛКА, которая создает ссылку и позволяет перейти на документ или страницу, находящуюся на сетевом диске или интернет. Данная функция имеет следующий синтаксис:

ГИПЕРССЫЛКА(адрес, [имя])

где,

Адрес – путь или имя открываемого документа. Может быть как адресом на жестком диске, так и URL сайта.

Имя – необязательный аргумент, текст ссылки, под которым мы можем скрыть адрес.

В ячейке B3, к которой мы хотим применить ролловер эффект, вводим следующую формулу:

=ГИПЕРССЫЛКА(RollOverEffect(); "Наведи курсор")

ролловер эффект excel

Excel выдаст нам ошибку, не обращайте пока на нее внимание.

Далее создаем пользовательскую функцию. Для этого переходим в редактор VBA. (О редакторе VBA, вы можете прочитать в статье про создание макросов в Excel.)  И вставляем следующий код:

1
2
3
Public Function RollOverEffect()
Range("A1").Value = "Курсор наведен!"
End Function

ролловер эффект excel

Данный код будет вызываться функцией ГИПЕРССЫЛКА, каждый раз, как на ячейку будет наведен курсор. Теперь вернитесь в книгу и поместите мышь на ячейку B3. Наша пользовательская функция отработает свой код, и в ячейке A1 вы увидите надпись Курсор наведен!

Чтобы избежать выдачи ошибки #ЗНАЧ!, немного модернизируем нашу формулу и воспользуемся функцией ЕСЛИОШИБКА. Формула примет следующий вид:

=ЕСЛИОШИБКА(ГИПЕРССЫЛКА(RollOverEffect(); "Наведи курсор"); "Наведи курсор")

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

Напоследок, пример того как я использовал данную технику для подсвечивания ячейки, над которой находится курсор:

ролловер эффект excel

Скачать файл с примером применения ролловер эффекта в excel


10 комментариев

  1. Очень интересный эффект и к с своему удивлению я нашел ему для себя удобное применение в оформление отчетов.
    Правда описывать всю схему достаточно долго 🙁
    Если была бы возможность прикреплять в комментариях примеры в виде файлов я с удовольствием поделился бы своими достижениями 🙂 …

    • Hi, there is a question, is it possible, instead of the highlighting effect, to make the value (number) of the cell on which the cursor is located be substituted into the formula and the calculation result appears in the adjacent cell?
      you need to make sure that one of the values ​​in the formula is static, and the second is determined by hovering the cursor over a cell in the indicated range …

  2. Подскажите пожалуйста, как сделать чтобы после выбора как-нибудь ячейки вне ролловер, последняя выбранная ячейка не оставалась подсвеченной.
    Другими словами, надо чтобы вне диапазона значение по гиперссылки сбрасывалось на какую-то любую другую цифру, например «0»

  3. Подскажите пожалуйста, а как сделать чтобы и ячейка подсвечивалась и сохранилась возможность осуществить переход по ссылке при клике?
    Заранее благодарен.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *