Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/УФ не снимается при удалении в ячейке критери условия макрос - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » УФ не снимается при удалении в ячейке критери условия макрос (Форматирование/Formattings)
УФ не снимается при удалении в ячейке критери условия макрос
Sancho Дата: Среда, 19.07.2017, 13:08 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация: 19 ±
Замечаний: 0% ±

2007, 2010, 2013
Всем привет!
Не могу понять с чем может быть связано странное поведение условного форматирования. В голове дыру уже протер.
Макросом кликом по ячейке в диапазоне D1:G1 устанавливается точка в ячейке. УФ при наличии точки закрашивает ячейку. Двойной клик по ячейке удаляет точку, но при этом УФ продолжает закрашивать ячейку, причем если поставить формулу, например как в G2, ссылаясь на ячейку с УФ, то начинает работать правильно. Если удалять точку просто клавишей delete, либо сохранить файл, либо пересчитать всю книгу (вычисления по умолчанию автоматические, в коде пересчет нигде не отключается) срабатывает.

Что мешает правильной работе УФ?
К сообщению приложен файл: 7991157.xlsm (17.4 Kb)
 
Ответить
СообщениеВсем привет!
Не могу понять с чем может быть связано странное поведение условного форматирования. В голове дыру уже протер.
Макросом кликом по ячейке в диапазоне D1:G1 устанавливается точка в ячейке. УФ при наличии точки закрашивает ячейку. Двойной клик по ячейке удаляет точку, но при этом УФ продолжает закрашивать ячейку, причем если поставить формулу, например как в G2, ссылаясь на ячейку с УФ, то начинает работать правильно. Если удалять точку просто клавишей delete, либо сохранить файл, либо пересчитать всю книгу (вычисления по умолчанию автоматические, в коде пересчет нигде не отключается) срабатывает.

Что мешает правильной работе УФ?

Автор - Sancho
Дата добавления - 19.07.2017 в 13:08
_Boroda_ Дата: Среда, 19.07.2017, 13:20 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
На приложенном Вами файле тоже так работает?
У меня вроде все нормально.
Вы в каком Excel пробовали?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНа приложенном Вами файле тоже так работает?
У меня вроде все нормально.
Вы в каком Excel пробовали?

Автор - _Boroda_
Дата добавления - 19.07.2017 в 13:20
sboy Дата: Среда, 19.07.2017, 13:26 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Sancho, строку добавить в конец кода надо, проверяйте
[vba]
Код
  Application.Calculate
[/vba]
К сообщению приложен файл: 3959064.xlsm (17.5 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеSancho, строку добавить в конец кода надо, проверяйте
[vba]
Код
  Application.Calculate
[/vba]

Автор - sboy
Дата добавления - 19.07.2017 в 13:26
Sancho Дата: Среда, 19.07.2017, 14:09 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация: 19 ±
Замечаний: 0% ±

2007, 2010, 2013
_Boroda_, 2010й
sboy, да, заработало, но я же до этого нигде автоматический пересчет не отключал. в примере ячейка g1 на которую ссылается формула ведь работает
 
Ответить
Сообщение_Boroda_, 2010й
sboy, да, заработало, но я же до этого нигде автоматический пересчет не отключал. в примере ячейка g1 на которую ссылается формула ведь работает

Автор - Sancho
Дата добавления - 19.07.2017 в 14:09
_Boroda_ Дата: Среда, 19.07.2017, 14:40 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
По идее установка-снятие точки должно само запускать пересчет листа. Может, не успевает просто?
Посмотрите еще такой вариант - передадим управление и дождемся выполнения через DoEvents https://msdn.microsoft.com/en-us....%3Dtrue
Но не знаю, у меня и так все прекрасно работает

[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("d1:G1")) Is Nothing Then
        Range(Cells(Target.Row, 4), Cells(Target.Row, 7)).Value = ""
        Target.Value = "."
        DoEvents
    End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("D1:G1")) Is Nothing Then
        Cancel = True
        If Target.Value = "" Then
            Target.Value = "."
        Else
            Target.Value = ""
        End If
        DoEvents
    End If
End Sub
[/vba]

===
Кстати, а почему Вы сразу макросом не красите?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПо идее установка-снятие точки должно само запускать пересчет листа. Может, не успевает просто?
Посмотрите еще такой вариант - передадим управление и дождемся выполнения через DoEvents https://msdn.microsoft.com/en-us....%3Dtrue
Но не знаю, у меня и так все прекрасно работает

[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("d1:G1")) Is Nothing Then
        Range(Cells(Target.Row, 4), Cells(Target.Row, 7)).Value = ""
        Target.Value = "."
        DoEvents
    End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("D1:G1")) Is Nothing Then
        Cancel = True
        If Target.Value = "" Then
            Target.Value = "."
        Else
            Target.Value = ""
        End If
        DoEvents
    End If
End Sub
[/vba]

===
Кстати, а почему Вы сразу макросом не красите?

Автор - _Boroda_
Дата добавления - 19.07.2017 в 14:40
Sancho Дата: Среда, 19.07.2017, 15:34 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация: 19 ±
Замечаний: 0% ±

2007, 2010, 2013
Кстати, а почему Вы сразу макросом не красите?


потому что вот http://www.excelworld.ru/forum/10-24355-1

По идее установка-снятие точки должно само запускать пересчет листа. Может, не успевает просто?


может быть с настройками у меня что то, попробую на другом компе. Еще раз напомню, если какая либо формула ссылается на ячейки с УФ, то все работает прекрасно. С G1 снимается заливка так как на нее есть ссылка в G2, а с D1:F1 нет. красится нормально и без формул, а вот снятие заливки почему то "залипает"

через DoEvents


VBA не понял DoEvents не подкрасил как команду, хотя на него и не ругается
 
Ответить
Сообщение
Кстати, а почему Вы сразу макросом не красите?


потому что вот http://www.excelworld.ru/forum/10-24355-1

По идее установка-снятие точки должно само запускать пересчет листа. Может, не успевает просто?


может быть с настройками у меня что то, попробую на другом компе. Еще раз напомню, если какая либо формула ссылается на ячейки с УФ, то все работает прекрасно. С G1 снимается заливка так как на нее есть ссылка в G2, а с D1:F1 нет. красится нормально и без формул, а вот снятие заливки почему то "залипает"

через DoEvents


VBA не понял DoEvents не подкрасил как команду, хотя на него и не ругается

Автор - Sancho
Дата добавления - 19.07.2017 в 15:34
_Boroda_ Дата: Среда, 19.07.2017, 15:51 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
VBA не понял DoEvents не подкрасил как команду

А почему Вас это смутило?
Почитайте по ссылке выше. Код я туда тоже положил, он нормально работает? Я-то проверить у себя не могу


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
VBA не понял DoEvents не подкрасил как команду

А почему Вас это смутило?
Почитайте по ссылке выше. Код я туда тоже положил, он нормально работает? Я-то проверить у себя не могу

Автор - _Boroda_
Дата добавления - 19.07.2017 в 15:51
Sancho Дата: Среда, 19.07.2017, 15:56 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 279
Репутация: 19 ±
Замечаний: 0% ±

2007, 2010, 2013
_Boroda_, справку почитал, ничего не понял. Снятие заливки так же не работает. На соседнем ПК мой и Ваш тоже.
код свой и правил, и копировал Ваш целиком


Сообщение отредактировал Sancho - Среда, 19.07.2017, 15:57
 
Ответить
Сообщение_Boroda_, справку почитал, ничего не понял. Снятие заливки так же не работает. На соседнем ПК мой и Ваш тоже.
код свой и правил, и копировал Ваш целиком

Автор - Sancho
Дата добавления - 19.07.2017 в 15:56
Мир MS Excel » Вопросы и решения » Вопросы по Excel » УФ не снимается при удалении в ячейке критери условия макрос (Форматирование/Formattings)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!