Страницы: 1
RSS
Форматирование по правилу: наличие верхней и нижней границ
 
Ячейки, по затее, должны форматироваться по условию: если у ячейки есть и верхняя и нижняя граница, перекрасить ячейку в любой цвет, но везде одинаковый. Можно использовать как условное форматирование, так и макрос.
 
1. условный формат сразу отбрасывайте
условные форматы знают что находится в ячейке, при это совершенно не в курсе, каким цветом она залита, какого цвета и размера шрифт, есть рамки или нет и пр. лабуда условный формат знает что лежит в ячейке и может опираться практически только на эту информацию
2. если ячейка залита условным форматом, то каким цветом вы ее не заливайте в ней останется цвет заданный условным форматом
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
Sub iBorders()
Dim rng As Range
  For Each rng In Range("D4:J4")
    If rng.Borders(xlEdgeTop).LineStyle = xlContinuous And rng.Borders(xlEdgeBottom).LineStyle = xlContinuous Then
      rng.Interior.ColorIndex = 8
    End If
  Next
End Sub
 
Kuzmich,
 
Ігор Гончаренко,Нет. Ячейка изначально не залита условным форматом, а изменена макросом. По задумке задачи ячейки проходят через несколько этапов форматирования. Вот застрял на этом этапе
Изменено: Ranker Dark - 18.01.2021 00:52:30
 
Ranker Dark, см. файл
 
Код не проверен!
В коде ошибка: заливает весь диапазон
Вот так лучше
Код
    For Each iCell In Rng
        If iCell.Borders(xlEdgeTop).LineStyle = xlContinuous And iCell.Borders(xlEdgeBottom).LineStyle = xlContinuous Then
            iCell.Interior.ColorIndex = 8 'выделяем цветом ячейку
        End If
    Next
 
New, Александр Моторин, Благодарю. Всё работает! От души, обоим :)  
 
Ranker Dark,
А чем мое решение не подошло?
Копируйте код нормально и будет вам счастье.
 
да, код Kuzmich работает, я код Kuzmich чуть дополнил в своём файле, но его код полностью рабочий
 
Kuzmich,Не знаю. У меня вот это выскакивает.
Страницы: 1
Наверх