Добрый день. Люди добрые, помогите пожалуйста. Мне нужно, чтобы выделялась строка, определенной длины (А-N), только та, где сейчас находится активная ячейка. Взял макрос тутова, но что-то не работает.
------------------------------ Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'координатное выделение On Error Resume Next 'по ошибке перейти к выполнения следующей строки Application.ScreenUpdating = False 'чтобы не моргало Dim x As Range: Set x = [A5:N300]: x.Interior.ColorIndex = xlNone If Target.Count > 1 Then Exit Sub If Not Intersect(Target, x) Is Nothing Then Intersect(x, Target.EntireRow).Interior.ColorIndex = 35 Target.Interior.ColorIndex = xlNone End If End Sub
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(), который возвращает нужные тебе данные из любого объекта, даже если их там нет...
Dim Coord_Selection As Boolean 'глобальная переменная для вкл/выкл выделения
Sub Selection_On() 'макрос включения выделения Coord_Selection = True End Sub
Sub Selection_Off() 'макрос выключения выделения Coord_Selection = False End Sub
'основная процедура, выполняющая выделение Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range
If Target.Cells.Count > 1 Then Exit Sub 'если выделено больше 1 ячейки - выходим If Coord_Selection = False Then Exit Sub 'если выделение выключено - выходим
Application.ScreenUpdating = False Set WorkRange = Range("A6:N300") 'адрес рабочего диапазона, в пределах которого видно выделение Intersect(WorkRange, Uni on(Target.EntireColumn, Target.EntireRow)).Sel ect 'формируем крестообразный диапазон и выделяем Target.Activate End Sub
Вроде заработал. Что нужно поправить, чтобы только строка выделялась?
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Владимир пишет: Что нужно поправить, чтобы только строка выделялась?
вместо этого:
Код
Intersect(WorkRange, Uni on(Target.EntireColumn, Target.EntireRow)).Sel ect
вот это:
Код
Intersect(WorkRange, Uni on(Target, Target.EntireRow)).Sel ect
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(), который возвращает нужные тебе данные из любого объекта, даже если их там нет...
Спасибо, ребята. Всё равно на рабочем файле не работает. Там одни формулы, УФ и есть ещё макрос, который сортирует по цвету. Может что-то из этого мешает..
"..Сладку ягоду рвали вместе, горьку ягоду я одна."