Уважаемые знатоки Excel. Manyasha написала код, который я немного подкорректировал под свои нужды, но его еще надо немного подправить. Активные ячейки окрашиваются только в столбце С. Проблема в том, что в этом столбце есть окрашенные ячейки и надо, чтобы после того, как ячейка стала не активной, она приобретала свой предыдущий цвет. Если такое возможно, прошу помощи. Не знаю, правильно ли, что создал новую тему.
Уважаемые знатоки Excel. Manyasha написала код, который я немного подкорректировал под свои нужды, но его еще надо немного подправить. Активные ячейки окрашиваются только в столбце С. Проблема в том, что в этом столбце есть окрашенные ячейки и надо, чтобы после того, как ячейка стала не активной, она приобретала свой предыдущий цвет. Если такое возможно, прошу помощи. Не знаю, правильно ли, что создал новую тему.ivanov1974
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Если выделено больше 1-й строки, то выходим из макроса If Target.Rows.Count > 1 Then Exit Sub 'Если ячейки не из столбца С не закрашивать, то расскомментировать следующую строчку' 'If Target.Column > 15 Then Exit Sub Static rn_Prev As Range, clr_Prev As Long Dim rn As Range
If Not rn_Prev Is Nothing Then Range("c" & rn_Prev.Row).Interior.Color = clr_Prev End If 'закрашиваем активную ячейку в столбце С' clr_Prev = Range("c" & Target.Row).Interior.Color Range("c" & Target.Row).Interior.ColorIndex = 34 Set rn_Prev = Target End Sub
[/vba]
ivanov1974, здравствуйте, так хотите? [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Если выделено больше 1-й строки, то выходим из макроса If Target.Rows.Count > 1 Then Exit Sub 'Если ячейки не из столбца С не закрашивать, то расскомментировать следующую строчку' 'If Target.Column > 15 Then Exit Sub Static rn_Prev As Range, clr_Prev As Long Dim rn As Range
If Not rn_Prev Is Nothing Then Range("c" & rn_Prev.Row).Interior.Color = clr_Prev End If 'закрашиваем активную ячейку в столбце С' clr_Prev = Range("c" & Target.Row).Interior.Color Range("c" & Target.Row).Interior.ColorIndex = 34 Set rn_Prev = Target End Sub
Manyasha, здравствуйте. Точно так, за исключением одного нюанса. Пример: делаем активной ячейку С1, сохраняем и закрываем файл. При открытии файла вводим данные в ячейки С1, С2, С3 и т.д. При этом ячейка С1 остается закрашенной этим же цветом, что и активная ячейка. Нельзя ли сделать так, чтобы она тоже приобретала первоначальный цвет?
Manyasha, здравствуйте. Точно так, за исключением одного нюанса. Пример: делаем активной ячейку С1, сохраняем и закрываем файл. При открытии файла вводим данные в ячейки С1, С2, С3 и т.д. При этом ячейка С1 остается закрашенной этим же цветом, что и активная ячейка. Нельзя ли сделать так, чтобы она тоже приобретала первоначальный цвет?ivanov1974