Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Windows 8
  • Как создать ролловер эффект в Excel — выполнение макроса во время наведения курсора на ячейку в Excel.

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

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

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

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

Итак, преступим. Нам понадобится , которая создает ссылку и позволяет перейти на документ или страницу, находящуюся на сетевом диске или интернет. Данная функция имеет следующий синтаксис:

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

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

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

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

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

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

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

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

Долго держал в закромах эту надстройку - она долгое время была частью моей старой надстройки MyAddin (которая впоследствии переросла в MulTEx) - Координатное выделение строки и столбца

Надстройка пригодится тем, кто часто работает с большими таблицами, просматривая их и сопоставляя данные в строках и столбцах. Что дает эта надстройка? Она выделяет столбец и строку таблицы на пересечении выделенной ячейки, благодаря чему можно просмотреть все данные в столбце и строке активной ячейки, не перепроверяя себя лишний раз – "А в том ли столбце я смотрю данные?".

Надстройка рассчитана на пользователей Excel версий 2007 и выше. После подключения или открытия надстройки на панели появится новая вкладка: сайт с единственной кнопкой, по нажатии на которую появится форма:

Метод - выбор метода подсветки строки и столбца, их два:

  • выделение - строка и столбец выделяются так же, как если бы вы выделяли ячейки мышкой. У этого метода есть один недостаток. Если на листе в этом режиме будут сделаны изменения(удаление значения ячейки), то отменить их будет невозможно
  • условное форматирование - строка и столбец выделяются при помощи условного форматирования . Можно выбрать один из шести цветов для подсветки выделения строки и столбца. У такого подхода тоже есть недостаток. Все условное форматирование, примененное к текущему листу ранее, будет удалено

Весь лист - выделяются строка и столбец всего листа.

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

Выбранный диапазон - выделяются строка и столбец только в пределах указанного вами диапазона. Особенность: не допускается выделение несвязанных диапазонов.

Область применения - выбирается область листа, к которой применяется координатное выделение:

  • только строка - выделяется только строка активной ячейки
  • только столбец - выделяется только столбец активной ячейки
  • строка и столбец - выделяется строка и столбец на пересечении активной ячейки

Отменить Координатное выделение - отменяет примененное координатное выделение.

Внимание! Координатное выделение действует во всех открытых книгах во всех листах до тех пор, пока вы не отключите его через пункт «Отменить координатное выделение ».

Важно! При примененном координатном выделении невозможно скопировать выделенный диапазон, однако можно удалить значение активной ячейки (будет удалено только значение одной ячейки, расположенной на пересечении строки и столбца).

Скачать надстройку:

(49,5 KiB, 2 900 скачиваний)

В архиве расположен файл надстройки. Прежде чем установить надстройку, необходимо её распаковать из архива на жесткий диск, после чего установить. Как установить надстройку: Установка надстроек

Надстройка распространяется бесплатно и с открытыми исходными кодами - смотрите, изучайте, меняйте под себя.
Самый важный момент для тех, кого не устроит цвет выделения по умолчанию: чтобы изменить цвет выделения ячеек через условное форматирование, необходимо перейти в модуль mKoordSelection, найти вверху строку
Public Const lKS_FC_Color As Long = 10921638
и заменить число 10921638 на числовой код нужного цвета заливки. Подобрать нужный цвет можно следующим образом:

  • назначаем заливке любой ячейки нужный цвет
  • выделяем эту ячейку и выполняем код:
    Sub GetActiveCellColor() MsgBox ActiveCell.Interior.Color, vbInformation, sAPP_NAME End Sub

    Sub GetActiveCellColor() MsgBox ActiveCell.Interior.Color, vbInformation, sAPP_NAME End Sub

этот код так же есть внутри надстройки, поэтому его можно вызвать просто через Alt +F8
Изменить цвет выделения методом Обычного выделения нельзя. Это ограничение самого Excel. Можно изменить только изменением цветовых схем Windows.

Когда приходится работать с большим объемом данных в Excel, где строки сильно растянуты и не умещаются в один экран, сложно сравнить значения в одной и той же строке. Постоянно приходится передвигать горизонтальную полосу прокрутки. Работа была бы более удобной если бы целая активная строка была бы выделена цветом – как курсор на целую строку. Чтобы выделить активную строку или столбец цветом, создадим свою функцию в Excel с помощью макроса и с комбинируем ее с условным форматированием.

Подсветка строки в Excel цветом

Чтобы создать свой широкий курсов на целую строку в Excel, необходимо создать макрос и использовать его вместе с условным форматированием. Для примера создадим таблицу с широкими строками и большим количеством столбцов. Нам нужно выделить строку цветом по условию Excel. Например, если активная ячейка находится в строке 2, тогда выделить цветом всю строку 2 (в пределах таблицы или на весь лист). Для примера создадим таблицу с широкими строками и большим количеством столбцов:

Подсветка текущей строки в Excel цветом:



В результате происходит выделение строки условным форматированием только там, где находится активная ячейка. Эффект широкого курсора таблицы для комфортного просмотра данных с большим объемом информации. Сделав активной любую ячейку таблицы и сразу же выделяется цветом строка в которой находится данная ячейка.



Полезный вопрос! А как же выделить активный столбец цветом? Аналогичным методом реализовывается с помощью макроса не только подсветка цветом активной строки, но и столбца. Для этого:



Принцип действия создания пользовательского курсора для таблицы

Применяемая в условном форматировании созданная нами функция VBA =АктивнаяСтрока() позволяет нам получить номер текущей строки в которой стала активной любая из ее ячеек. Результат вычисления пользовательской функции =АктивнаяСтрока() сравнивается с результатом функции =СТРОКА(), которая также возвращает номер текущей строки в данном моменте вычисления условного форматирования.

Так как обе функции выполняются при активной ячейке в одной и той же строке их значения равны между собой и возвращают общее логическое значение ИСТИНА. В результате чего происходит выделение строки цветом по условию. Если значение ИСТИНА, тогда присваивается формат цвета для целой активной строки таблицы.

Вопрос: как правильно работать со строками в Эксель, интересует многих пользователей. Рассматривать его можно с различных сторон, именно это мы и сделаем в данной статье.

Измерить длину

Длину строки в Excel можно измерить количеством ячеек в ней, и количеством символов, введенных в одну ячейку. Максимальное количество ячеек в одном рядке Excel 2010 – «16 384» , в одну ячейку можно ввести максимум «32 767 символов» . Чтобы перейти к последней ячейке, нажмите комбинацию «Ctrl+стрелка вправо» .

Сколько их всего

Количество строк в Excel 2010 составляет «1 048 576» . Чтобы посмотреть номер самой последней в Экселе, нажмите «Ctrl+стрелка вниз» .


Добавить новую

Чтобы вставить пустую строку в Excel, выделите ячейку, которая будет находится сразу под ней. Затем кликните по блоку правой кнопкой мыши и выберите из контекстного меню «Вставить» .

Появится диалоговое окно «Добавление ячеек» . Поставьте маркер в подходящем поле и нажмите «ОК» .

Таким же образом можно добавить строку в таблицу Excel.

Сделать строку в Эксель можно и другим способом. Выделяем блок, который будет располагаться под ней. Дальше на вкладке «Главная» нажимаем на кнопочку «Вставить» и выбираем из меню «Вставить строки на лист» .

Удалить

Для того чтобы удалить, например, пустую строку с листа Эксель, кликаем по ней правой кнопкой мыши и выбираем «Удалить» .

После этого откроется уже знакомое диалоговое окно, в котором ставим маркер в поле «строку» и нажимаем «ОК» .

Еще один способ: выделяем любую ячейку из рядка, который будем удалять. Потом на вкладке «Главная» кликаем по кнопочке «Удалить» и выбираем из меню «Удалить строки с листа» .

Перенос текста

Если Вам нужно сделать перенос строки в ячейке – это аналогично созданию нового абзаца в Word – поставьте курсор перед тем словом, с которого будет начинаться новый абзац, и нажмите «Alt+Enter» .

Применим этот способ к блоку А1 . Теперь слово «СЮДА» начинается с нового абзаца. При выделении А1 в строке формул появляются две стрелочки. Кликая по ним, можно просматривать весь текст.

Если Вам просто нужно, чтобы были видны все слова, написанные в ячейке, выделите ее и на вкладке «Главная» нажмите на кнопочку «Перенос текста» .

Высота самого блока будет автоматически расширена.

Изменить высоту

Изменить высоту строки можно несколькими способами. Самый простой – подведите курсор к нумерации нужного рядка в документе Excel, чтобы он принял вид стрелочки, направленной вверх-вниз. Нажмите левую кнопку мышки и растяните на нужную высоту.

Для того чтобы выровнять высоту всех строк в документе, то есть сделать ее одинаковой, выделите все необходимые. На вкладке «Главная» кликните по кнопочке «Формат» и выберите из меню «Высота строки» .

В следующем окне задайте нужное значение для высоты и нажмите «ОК» .

Если Вам нужно, чтобы высота соответствовала содержимому в ячейке, снова на вкладке «Главная» кликните по кнопочке «Формат» . Затем выберите из меню «Автоподбор высоты строки» .

Как выделить

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

Таким же способом, можно выделить несколько рядочков подряд. Только теперь зажмите левую кнопку мыши и протяните курсор вниз, на необходимое количество. Программа будет показывать количество выделенных рядочков. В примере это «3R» .

Чтобы выделить несмежные строки, например, «3,4,5» и «7,8,9» . Выделяем сначала «3,4,5» , затем нажмите и удерживайте клавишу «Ctrl» . Теперь выделяем «7,8,9» .

Посчитать количество

Посчитаем пустые рядочки. В моем примере, они расположены в диапазоне «В4:В11» . Для этого выделите любую ячейку на листе, и напишите в ней формулу: =СЧЁТЕСЛИ(B4:B11;»») . Здесь, вместо «В4:В11» – введите свой диапазон, в кавычках записано условие, так как ищем незаполненные, то там пусто. Результат – 8 пустых.

Чтобы посчитать заполненные – возьмем для примера диапазон «А1:А10» , снова выделите любой блок, и напишите в нем формулу: =СЧЕТЕСЛИ(А1:А10;»<>») . Диапазон укажите свой, в качестве условия задаем «<>» – ищет непустые блоки.

Как скрыть

Чтобы скрыть их на листе, выделите необходимые, затем кликните по выделенному правой кнопкой мыши и выберите из меню «Скрыть» .

Если потребуется отобразить скрытые рядки, выделите по одному рядку, которые находятся выше и ниже них, затем кликните по ним правой кнопкой мыши и выберите из меню «Показать» .

Группировка

Группировка рядков в документе может помочь при создании больших таблиц, в которых, помимо основных данных, есть еще и объяснения к этим данным. В таких случаях, объяснения можно сгруппировать, и просматривать, когда необходимо.

Чтобы сгруппировать строки в Эксель, выделите нужные, перейдите на вкладку «Данные» , кликните «Структура» – «Группировать» .

В следующем окне поставьте маркер в поле «строки» и нажмите «ОК» .

Строки будут сгруппированы. Чтобы их развернуть нажмите на «+» , свернуть – на «-» .

Если нужно будет разгруппировать строки, выделите их и выберите в «Структуре» «Разгруппировать» .

Лучшие статьи по теме