Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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