Здравствуйте форумчане! Нужна оперативная помощь сведущих в программировании макросов Excel. Суть проблемы в следующем: Имеются два ряда колонок с различными показателями (норматив/факт), в третьей колонке через формулу ЕСЛИ проверяется соответствие этих показателей друг другу (если совпадают - ИСТИНА и т.д.). Я написал макрос, который при несоответствии показателей (в третьей колонке значение в ячейке = ЛОЖЬ), выделяет всю строку другим цветом для наглядности. На данный момент макрос выглядит следующим образом:
If Range(“C1”)=“True” Then Rows(“1:1”).Select With Selection.Interior .Pattern=x1None .TintAndShade=0 .PatternTintAndShade=0 End With If Range(“C1”)=“False” Then Rows(“1:1”).Select With Selection.Interior .Pattern=x1Solid .PatternColorIndex=x1Automatic .Color=65535 .TintAndShade=0 .PatternTintAndShade=0 End With
И так далее. Проблема в следующем - строк для проверки около тысячи и вписать каждую в макрос будет ну очень долгим делом. Как сделать так, чтобы макрос распространился на все заполненные ячейки? Уверен, что это элементарно, но никак не могу дойти до этого сам. Спасибо заранее
А нафига писать макросы, если можно просто задать условное форматирование строки по содержимому ячейки и растянуть его на весь диапазон?
kostya-chist, 24.11.2019 - 22:09
Во-первых: обработка макросом 1000 ячеек - дело нескольких секунд, обрабока данных ячеек в цикле. Во-вторых: ваше хотелка уже встроена в ексел и называется условное форматирование, ничего растягивать не надо, просто выделить весь столбец и применить к нему нужное форматирование.
grts, 25.11.2019 - 8:13
Цитата | Quote(Vladislaw @ 24.11.2019 - 14:22)
Здравствуйте форумчане! Нужна оперативная помощь сведущих в программировании макросов Excel.
Тебе сюда:
_http: //www.excelworld.ru
Оперативней не бывает. Проверено.
Vladislaw, 25.11.2019 - 20:03
Спасибо всем большое! Проблема решилась сначала при помощи макроса, а потом я узнал ещё и про условное форматирование ) не знал, что можно заливку растянуть на всю строку. Век живи век учись.