Страницы: 1
RSS
Скопировать цвет условного форматирования
 
Есть ячейка с условным форматированием (которое задано формулой). Мне нужно скопировать эту ячейку и вставить на другой лист, как значение без правил условного форматирования, но что бы цвет сохранился. Подскажите пожалуйста, можно ли это сделать стандартными средствами? Ну или с помощью макроса?
 
Цитата
DopplerEffect написал:
но что бы цвет сохранился.
в зависимости от того ,какая версия excel, а также чего цвет нужно сохранить, можно скопировать макросом результирующий формат
примерно так
Код
Cell2.activecell.Format.Interior.Color=Cell1.DisplayFormat.Interior.Color
По вопросам из тем форума, личку не читаю.
 
DopplerEffect,
определить цвет ячейки можете вот так:
Код
ActiveCell.DisplayFormat.Interior.Color
 
Спасибо, работает!
 
Хороший вопрос. Мне кажется, что стандартными средствами не получится, надо будет писать макрос. Если условие одно, макрос достаточно простой, если несколько условий - надо будет проверить в макросе, какое из условий выполняется.  

Вот пример простого макроса, если условие одно (и оно выполняется). Надо будет два раза выбрать ячейку - сначала исходную (Select Source Cell) потом ту, в которую надо будет вставить (Select Target Cell). Проверил у себя на простом примере -  сбоев не обнаружил (но они могут быть :)
Код
Sub CopyValueAndCondFormatColors()
    
    Dim Source As Range, Target As Range
    
    Set Source = Application.InputBox("Select SOURCE cell", Default:=Selection.Address, Type:=8)
    Set Target = Application.InputBox("Select TARGET cell", Default:=Selection.Address, Type:=8)
    
    Target.Value = Source.Value
    If Source.FormatConditions.Count > 0 Then
        With Target
            .Interior.Color = Source.DisplayFormat.Interior.Color
            .Font.Color = Source.DisplayFormat.Font.Color
        End With
    End If
    
End Sub
Изменено: Yurik74 - 15.09.2021 10:02:43 (обновление кода для случая невыполнения условия)
 
Цитата
Юрий Сутурин написал:
сбоев не обнаружил (но они могут быть
и будут. Кто сказал что условие выполняется, даже если оно одно?
По вопросам из тем форума, личку не читаю.
 
БМВ, век живи, век учись :)
Предлагаю изменить FormatConditions(1) на DisplayFormat. Тогда ведь и количество условий становится неважным. Просто не знал про DisplayFormat  
Изменено: Yurik74 - 15.09.2021 10:04:24
Страницы: 1
Читают тему (гостей: 1)
Наверх