В Windows 10 Pro 64 v 1903 под управлением Excel 2019 я хочу использовать функцию для переопределения условного форматирования, как описано в разделе форума MS, Ручное переопределение условного форматирования. . Поэтому я написал функцию:
Option Explicit
Public Function bNoCondlColorFill(rCell As Range) As Boolean
bNoCondlColorFill = (Cells(rCell.Row, rCell.Column).Interior.ColorIndex <> xlColorIndexNone)
End Function
Затем в условном форматировании я создал новое правило:
=bNoCondlColorFill(J4)
и применил его к области:
=$J$4:$BX$51
После этого я обнаружил, что электронная таблица ведет себя хаотично. Первое, что произошло, было то, что когда я выбрал строку и нажал shift-delete
, книга закрылась без запроса сохранения.
Чтобы проверить это дальше, я сделал следующее:
- Создана новая рабочая книга.
- Добавлен модуль только с вышеуказанной функцией.
- Введен текст "Тест" во все ячейки диапазона A1: BZ50
- Установить условноформатирование по формуле
=bNoCondlColorFill(A1)
для применения к =$A$1
без установленного формата и без проверки «Остановить при истине». - Сохранение книги.
Я не наблюдал никакихпроблема с этой книгой. Затем я экспериментировал с внесением следующих изменений:
- Измените содержимое ячеек с «Тест» на 55 копий «Тест» (т. Е. «Тест Тест-тест ...», длиной 275 символов).
- Измените диапазон «применено к» с
=$A$1
на =$A$1:$BZ$50
.
Когда я внес одно из этих изменений в тестовую книгу, я не заметил никакихпроблема. Но когда я внес оба эти изменения, а затем сохранил файл, снова открыл его и попытался сохранить его снова, я получил сообщение «Расчет не завершен. Пересчитать перед сохранением?»Если я нажимал «да», я получал одно и то же сообщение повторно. В строке состояния не было указаний на то, что она рассчитывает. Так что что-то напутало.
Есть ли способ заставить эту формулу условного форматирования работать на большом (но не огромном) диапазоне?