Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы
Старый 24.04.2008, 11:09   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,332
По умолчанию Управление условным форматированием

В продолжении ЭТОЙ темы, для поиска равных значений, я к ячейкам, просто применил "Условное форматирование", получилось супер, НО:
Услов. форм. применено к 800 ячейкам, одного столбца(ст. четыре) и поэтому когда начинаешь вбивать данные в А, В идут тормоза.
Вопрос, как можно отключать "Условное форматирование", на период ввода данных?
Делал кнопку, привязывал ее к макросу, не помогло

З. Ы.
В ст. С, D, будут ссылки на другую книгу с данными
Вложения
Тип файла: rar Накл.rar (7.9 Кб, 44 просмотров)
valerij вне форума
Старый 24.04.2008, 12:31   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,165
По умолчанию

Больше, чем уверен, что с использованием VBA, условное форматирование вообще не нужно. Попробовал почитать посты темы по Вашей ссылке - запутался. Объясните, что нужно сделать. Что окрашивать? В зависимости от чего? Или еще что...?

Последний раз редактировалось SAS888; 24.04.2008 в 12:37.
SAS888 на форуме
Старый 24.04.2008, 13:00   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,332
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Больше, чем уверен, что с использованием VBA, условное форматирование вообще не нужно. Попробовал почитать посты темы по Вашей ссылке - запутался. Объясните, что нужно сделать. Что окрашивать? В зависимости от чего? Или еще что...?
Если данные в ст А, совпали в ст. С, то они окрасились и в А, и в С.
Соответственно и ст. В и D, то же самое, что в аттаче и сделанно, но так как сей час, идут тормоза(800 ячеек х 4 столбца)
Это в аттаче яч. 25х4

Т. е. надо: при вводе данных в А, В, что бы не работало "Условное форматирование", тогда не будет тормозов, а только при клике на кнопку "Проверка" начнется сверка

Последний раз редактировалось valerij; 24.04.2008 в 13:08.
valerij вне форума
Старый 24.04.2008, 13:52   #4
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Плохо Идея в корне порочна

Будь то условное форматирование или, скажем, колонка с формулами ВПР или СЧЁТЕСЛИ - торможение обеспечено, поскольку при изменении всего одной ячейки пересчитываются все ячейки целого столбца, а то и не одного.

Этого недостатка не будет у макроса, который по событию "Изменение листа" в двух колонках (своей и другой) найдет (или нет) новое значение (пусть оно встречается и не один раз) и закрасит (или нет) нужные ячейки. Такой макрос прекрасно будет работать, если значения только добавляются.

НО: такой макрос не сможет прицельно обесцветить: ему неоткуда взять старое значение изменённой ячейки.

ИМХО, выход один: запуск обесцвечивающего всё и заново красящего макроса по запросу.
дмидми вне форума
Старый 24.04.2008, 14:10   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,165
По умолчанию

Цитата:
НО: такой макрос не сможет прицельно обесцветить: ему неоткуда взять старое значение изменённой ячейки.
А Вы уверены? Я как раз над этим сейчас думаю.
Цитата:
ИМХО, выход один: запуск обесцвечивающего всё и заново красящего макроса по запросу.
Тогда нужно проверять все ячейки, а это долго.
SAS888 на форуме
Старый 24.04.2008, 14:22   #6
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,332
По умолчанию

А если использовать тот макрос, что в аттаче, но он сработает "правильно" раз, а потом при закрытии листа, типа обнулить?
valerij вне форума
Старый 24.04.2008, 14:28   #7
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Плохо Кому он нужен, этот Васька? (с)

Цитата:
Сообщение от valerij Посмотреть сообщение
А если использовать тот макрос, что в аттаче
Даже если довести его до ума так, чтобы он работал, работает он на моём компе поболе двадцати секунд для всего-то семи тысяч строк. Много! Раскрашивание врукопашную (то есть без условного форматирования) займёт заведомо меньше времени.
дмидми вне форума
Старый 24.04.2008, 14:36   #8
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

А не проще сделать 2 кнопки:
ВКЛ. и ВЫКЛ. условное форматирование.
Забили нужные данные-нажали ВКЛ.
перед тем как забивать нажали ВЫКЛ.

Извиняюсь, но это предложение уже было выше:
Цитата:
ИМХО, выход один: запуск обесцвечивающего всё и заново красящего макроса по запросу.

Последний раз редактировалось ZORRO2005; 24.04.2008 в 14:42.
ZORRO2005 вне форума
Старый 24.04.2008, 15:10   #9
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,332
По умолчанию

Цитата:
Сообщение от ZORRO2005 Посмотреть сообщение
А не проще сделать 2 кнопки:
А как, их сделать, к чему их привязывать?
valerij вне форума
Старый 24.04.2008, 17:43   #10
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,332
По умолчанию

А если две кнопки и два макроса, и связать?
Что то пробую, нифига, де ошибка?

Sub Макрос1()
'Вкл. форматир.
Sheets("Лист1").Select
Range("A2:A25").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ИЛИ(C$2:$C$25=A2)"
Selection.FormatConditions(1).Inter ior.ColorIndex = 24
Range("C2:C25").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ИЛИ(A$2:$A$25=C2)"
Selection.FormatConditions(1).Inter ior.ColorIndex = 24
End Sub
Sub Макрос2()
'Отключает формат.
Sheets("Лист1").Select
Range("A2:A25").Select
Selection.ClearFormats
Range("C2:C25").Select
Selection.ClearFormats
End Sub
valerij вне форума
Закрытая тема

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление громкостью Jupiter Общие вопросы Delphi 2 29.06.2008 14:43
Управление голосом prizrak1390 Общие вопросы Delphi 2 24.06.2008 20:04
управление CD ROMom Cricket2007 Помощь студентам 4 16.06.2008 15:01
Управление приложениями voron29 Общие вопросы Delphi 1 14.03.2008 12:38
вопрос - проблема с форматированием prickly Microsoft Office Excel 2 14.11.2006 10:14


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS