Условное форматирование Excel VBA не выполняется - PullRequest
3 голосов
/ 07 декабря 2011

Это странно.Я создаю электронную таблицу Excel 2003 из MS Access 2003 VBA, и кодирование включает условное форматирование: если значение ячейки больше, чем [значение], оно окрашивается в красный цвет, если оно меньше, чем [значение], оно окрашивается в зеленый цвет.

Несмотря на то, что формулы CF создаются успешно при создании электронной таблицы, все цвета являются зелеными, независимо от значения.Если я вручную введу исходное значение в ячейку, оно будет вызывать CF, и оно будет отображаться правильно, но в противном случае он просто будет сидеть там все того же (неправильного) цвета.

Я пытался выполнить application.calculate,CalculateFull, CalculateFullRebuild;но это не помогает.Я пытался worksheet.calculate.Нету.Я попытался скопировать все содержимое таблицы в новую таблицу.Нету.Я попытался указать формат чисел для всех ячеек на листе.Нет.

Кажется, как будто хочет пересчитать, но я не могу этого добиться.

1012 * Я гугле это трудно, но не могу найти ничего подобного, что заставляет меня думать, что я что-то элементарно не хватает.

1 Ответ

6 голосов
/ 07 декабря 2011

Звучит так, будто ваши данные числовые, но Excel видит их как текст.Вот способ решения проблемы:

  1. Найдите пустую ячейку сбоку и введите число 0.
  2. Скопируйте эту ячейку (Ctrl-C).
  3. Выберите проблемные ячейки данных и выполните специальную вставку со следующими настройками: выберите «Значения» в разделе «Вставить» и «Добавить» в разделе «Операция», нажмите кнопку ОК.

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

...