day & night

Нужна срочная помощь в оптимизации макроса Excel, Visual Basic
Дата обновления: , перейти к новому сообщению
#1
Vladislaw



Новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 24.11.2019
Пользователь №: 2.113.845


Респектов: 0
----------


Предупреждений:


Здравствуйте форумчане! Нужна оперативная помощь сведущих в программировании макросов 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

И так далее. Проблема в следующем - строк для проверки около тысячи и вписать каждую в макрос будет ну очень долгим делом. Как сделать так, чтобы макрос распространился на все заполненные ячейки? Уверен, что это элементарно, но никак не могу дойти до этого сам. Спасибо заранее
User is offline
Go topGo end
 

Ответов(1 - 5)
icon1 24.11.2019 - 15:35
#2
Henry723



профи!
[SoftoRooMTeaM] Group Icon

Группа: СуперМодераторы
Сообщений: 29.342
Регистрация: 27.10.2005
Пользователь №: 59.366


Респектов: 7239
-----XXXXX




Рекомендую посмотреть здесь

User is online!
Go topGo end
24.11.2019 - 20:50
#3
Mendel Maranz



Опытный юзверь
**

Группа: Пользователи
Сообщений: 51
Регистрация: 12.02.2008
Пользователь №: 759.853


Респектов: 12
-----X----


Предупреждений:


А нафига писать макросы, если можно просто задать условное форматирование строки по содержимому ячейки и растянуть его на весь диапазон?
User is offline
Go topGo end
24.11.2019 - 22:09
#4
kostya-chist



профи!
[SoftoRooMTeaM] Group Icon

Группа: Модераторы
Сообщений: 1.211
Регистрация: 20.04.2006
Из: Ростов Великий
Пользователь №: 152.532


Респектов: 192
-----X----




Во-первых: обработка макросом 1000 ячеек - дело нескольких секунд, обрабока данных ячеек в цикле.
Во-вторых: ваше хотелка уже встроена в ексел и называется условное форматирование, ничего растягивать не надо, просто выделить весь столбец и применить к нему нужное форматирование.
User is offline
Go topGo end
25.11.2019 - 8:13
#5
grts



Специалист
****

Группа: Пользователи
Сообщений: 446
Регистрация: 26.06.2007
Пользователь №: 422.074


Респектов: 93
-----X----


Предупреждений:


Цитата | Quote(Vladislaw @ 24.11.2019 - 14:22)
Здравствуйте форумчане! Нужна оперативная помощь сведущих в программировании макросов Excel.
*



Тебе сюда:
_http: //www.excelworld.ru

Оперативней не бывает. Проверено.
User is offline
Go topGo end
25.11.2019 - 20:03
#6
Vladislaw



Новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 24.11.2019
Пользователь №: 2.113.845


Респектов: 0
----------


Предупреждений:


Спасибо всем большое! Проблема решилась сначала при помощи макроса, а потом я узнал ещё и про условное форматирование ) не знал, что можно заливку растянуть на всю строку. Век живи век учись.
User is offline
Go topGo end

Topic Options
Сейчас: 28.03.2024 - 14:58
Мобильная версия | Lite версия