Здравствуйте, уважаемые форумчане!
Ситуация следующая: успешно пользуюсь макросом, написанным камрадом БМВ, недавно в его код для расширения функционала добавил пару строк из другого макроса
Код |
---|
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.FormatConditions.Delete With Target .FormatConditions.Add Type:=xlExpression, Formula1:=True .FormatConditions(1).Interior.Color = RGB (245. 245. 245) End With End Sub |
Не уверен, всё ли я правильно сделал с точки зрения орфографии VBA, но макрос работает нормально - теперь при выделении ячейки в диапазоне К:АО в ней появляется число и изменяется её цвет.
Код |
---|
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Range("K:AO")) Is Nothing And Target.CountLarge = 1 Then If IsEmpty(Target) And Not IsEmpty(Cells(Target.Row, 9)) Then Target.Value = Cells(Target.Row, "I").Value With Target .FormatConditions.Add Type:=xlExpression, Formula1:=True .FormatConditions(1).Interior.Color = RGB (245. 245. 245) End With End If End Sub |
Иногда необходимо удалить данные из некоторых ячеек вышеназванного диапазона, так вот, проблема заключается в том, что при "очищении" ячейки её цвет не становится прежним (((
В макросе, изменяющем цвет ячейки, выражение "Cells.FormatConditions.Delete" возвращает ячейке прежнее форматирование при выделении другой ячейки, однако, все мои попытки "прикрутить" его к "своему" макросу остались безуспешными ...
Просьба, уважаемые знатоки VBA, прописать в макросе дополнительное условие, при котором ячейке возвращался бы её первоначальный цвет при удалении из неё данных.
Заранее благодарен.