Страницы: 1 2 След.
RSS
Заливка цветом активной ячейки
 
Активная ячейка (та, на которую нажали мышкой или просто перешли с помощью стрелочек, клавишей Enter и прочее) должна автоматически выделяться жёлтой заливкой и возвращаться к исходному виду, как только активной становится другая ячейка.
можно ли это сделать и как?
Зачем это нужно:
Когда у вас большая таблица, в ячейках которых похожие тексты, если не присматриваться, и вы, допустим, через поиск Cntrl+F что-то ищете, то найденный результат сложно бывает сразу увидеть, так как выделение ячейки не очень броское. Если же активная ячейка будет автоматически заливаться ярким цветом, то хватит доли секунды, чтобы взглядом найти её.
Буду благодарен всем, кто поможет или попытается!
 
Ищите в Приемах этого сайта - координатное выделение
Вот что выдал поиск по сайту
 
В модуль листа:
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1:D10")) Is Nothing Then
        Range("A1:D10").Cells.Interior.ColorIndex = xlNone
        Target.Interior.ColorIndex = 6
    End If
End Sub
Диапазон поменяйте под свои нужды.
 
vikttur, да, видел этот прием (http://www.planetaexcel.ru/techniques/3/58/), но он - не совсем то: там выделяется целая строка и целый столбец. В большой таблице и так не всё так быстро работает, поэтому лишнее торможение не на руку. Другое дело, если выделяется только одна ячейка
 
Юрий М, спасибо, завтра попробую. А если учесть, что таблица каждый день добавляется (добавляются строки, столбцы - нет), то выделить все строки, включая пустые до самого конца листа?
 
А в чем сложность вместо D10 написать, например, N1000?  ;)  Про "выделить" вообще не понял.
 
Юрий М, это я к тому, что не будет ли тормозить при таком диапазоне?
 
Не должно )
 
Юрий М, завтра попробую на работе )))) Сейчас просто с телефона сижу - на нём не создашь лист Excel :))
 
На случай, если на листе есть ячейки с заливкой
 
 
Юрий М, А куда код вставлять? Я делаю так: становлюсь на нужный лист, щелкаю на листе правой кнопкой, затем "исходный текст" - у меня открывается окно, где есть уже макрос один. Как правильно сделать?
 
Alexander88, спасибо, ваш вариант работает, но когда копирую макросы из ваших модулей и вставляю в свои - не работает ((
Изменено: novomaster - 01.09.2015 15:33:52
 
novomaster, Нужно скопировать с модуля книги и с обычного модуля (не забыв глобальные переменные вверху).
Заливку можно включать и выключать (есть макросы "вкл" и "выкл")
В версиях моложе 2007 работать не будет скорее всего
Изменено: Alexander88 - 01.09.2015 15:53:47
 
Alexander88, " (не забыв глобальные переменные вверху)" - это что за переменные?
 
Цитата
novomaster написал: у меня открывается окно, где есть уже макрос один
Делаете всё правильно, но нужно знать, что там за макрос у Вас - как он называется?
 
Юрий М, я в них уже запутался. Прикладываю скрин тех окошек, которые открываются, если нажать правой кнопкой мыши на названии листа >> "Исходный текст"
 
Если процедура Worksheet_SelectionChange УЖЕ имеется в листе, то нужно проверки делать внутри этой процедуры. Давайте Ваш файл - вставим прямо в него нужный фрагмент )
 
Юрий М, теперь завтра, уже с работы ушел, а файл там
 
Юрий М, прилагаю файл, только данные по клиентам удалил
 
Юрий М, там пароль 2080
Нужно, чтобы на листе "Клиенты" выделялись цветом ячейки в диапазоне (A8:J1048576)? желательно ядовито-жёлтой заливкой
P.S. Те макросы, которые я вчера в скриншоте выложил: подозреваю, что там какие-то модули появились после моей неудачной попытки вставить их из примера от Alexander88. Мои макросы там были следующие: "Clear", отвечающий за кнопку "Очистить фильтры" и макрос для расширенного фильтра (бледно-жёлтые ячейки в диапазоне (A2:L5). Вот эти макросы нужны, их удалять нельзя. А то, что я вчера неудачно добавил - можно удалить. (Вся эта тирада касается только листа "Клиенты", на других листах - не помню, есть нужные макросы или нет)
 
Подскажите пожалуйста, как сделать так, чтобы по клику заливалась ячейка узором, и если снова кликнуть туда же, то заливка исчезала.
Заранее спасибо за ответ!  
 
Перенес в ваш файл
 
Добавил в модуль листа "Клиенты" свой вариант.
 
Цитата
Gabi написал:
чтобы по клику заливалась ячейка узором, и если снова кликнуть туда же, то заливка исчезала.
А если не возвращаться, то все ранее выделенные ячейки должны оставаться с этой заливкой?
 
Alexander88, супер! Всё отлично работает, даже лучше, чем я предполагал! Спасибо огромнейшее!!! :)
 
А у меня не работает? ))
 
Юрий М, Ваш еще не видел, сейчас посмотрю ))
 
Юрий М, да, если не было повторного клика, то ячейка должна быть залита узором  :)  
 
Юрий М, у Вас тоже всё отлично работает, причём всё по заданным параметрам (лист, диапазон и т.д.), а у Alexander88 - на всех листах и ячейках. Но это не плохо, может потом пригодится это выделение ячеек и на других листах. В общем, всем огромное спасибо!
 
Цитата
Gabi написал:
если не было повторного клика, то ячейка должна быть залита узором
См. файл.
Страницы: 1 2 След.
Наверх