powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как подсвечивать строку с курсором без тормозов?
7 сообщений из 7, страница 1 из 1
Как подсвечивать строку с курсором без тормозов?
    #33871871
Sasha_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Excel97. Сейчас я делаю в selectionChange вот так:

Код: plaintext
1.
2.
3.
4.
5.
            Cells.Interior.ColorIndex = xlNone
            With ActiveCell.EntireRow.Interior
                .ColorIndex =  6 
                .Pattern = xlSolid
            End With

но проблема в том, что первая строка довольно долго исполняется и поэтому не очень удобно пользоваться и выглядит при листанни некрасиво, визуально видно как курсор "опережает" выделение - то есть курсор уже в следующей строке, а выделена предыдущая.

Хочется избавится от этих тормозорв. Пробовал сделать статическую переменную previusRange, и вместо тормозной строки писать previusRange.interior.colorIndex= xlNone, а после изменения цвета PreviusRange = ActiveCell
не получается. Такое впечатление, что последняя команда не срабатывает. не могу понять в чем дело?

В архиве пример с этим кодом.
...
Рейтинг: 0 / 0
Как подсвечивать строку с курсором без тормозов?
    #33872128
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошее решение http://]http://www.puremis.net/excel/downloads.shtml с открытым кодом Cell_Spotter.zip
...
Рейтинг: 0 / 0
Как подсвечивать строку с курсором без тормозов?
    #33872435
Sasha_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, к сожалению решение не очень, но все равно спасибо. Отдельным шейпом - это конечно альтернатива, но ИМХО не та, на которой следует остановить свой выбор. У меня подсвечивает красивей (-:

Мне хочется именно избавиться от команды деланья всей страницы бесцветной - занимает слишком много времени. Если я смогу этого добиться, то будет мне счастье, а пока что я не смог этого сделать и поэтому я весь в печали )-:
...
Рейтинг: 0 / 0
Как подсвечивать строку с курсором без тормозов?
    #33872677
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо
Код: plaintext
previus = ActiveCell
Надо так:
Код: plaintext
Set previus = ActiveCell
Бо нам тут нужен объект типа Range, а не его значение...
...
Рейтинг: 0 / 0
Как подсвечивать строку с курсором без тормозов?
    #33873813
Sasha_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
set previus = ActiveCell тоже не помогло. ):
Все равно такое впечателние, что строка не исполняется.

п.с. сменил офис на 2003.
...
Рейтинг: 0 / 0
Как подсвечивать строку с курсором без тормозов?
    #33873856
Sasha_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, это я провтыкал. Конструкция заработала. Спасибо
...
Рейтинг: 0 / 0
Как подсвечивать строку с курсором без тормозов?
    #33874169
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sasha_PСорри, это я провтыкал. Конструкция заработала. Спасибо
Класная штука получилось.
Я немного переделал
положил в модуль "Эта книга"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Public previus As Range
Public first As Boolean

Private Sub Workbook_Open()
    Set previus = Selection
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Set previus = Selection
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    previus.EntireRow.Interior.ColorIndex = xlNone
    Target.EntireRow.Interior.ColorIndex =  6 
    Set previus = Target
End Sub
получилось подсвечивается все выделенное (причем даже несмежные диапозоны)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как подсвечивать строку с курсором без тормозов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]