Я установил числовой формат целого столбца, например, на отрицательную красную валюту с двумя десятичными знаками:
#.##0,00 €;[Red]-#.##0,00 €
После этого я начинаю устанавливать значения в каждой ячейке этой строки.
xlRange := xlWorksheet.Range('E:E');
xlRange.NumberFormat := '#.##0,00 €;[Red]-#.##0,00 €';
For RowIndex := 1 to 10 DO BEGIN
xlRange := xlWorksheet.Range('E'+ RowIndex);
xlRange.Value2 := SomeDecimalValue
END
Результат, однако, противоречив, некоторые значения не соответствуют определенному форматированию, другие реагируют, как и ожидалось.
При открытии диалогового окна «Формат ячеек» в Excel для такой недопустимой ячейкиФорматирование правильное, но не применяется. Подтверждение с помощью OK ничего не меняет.
ЕДИНСТВЕННАЯ вещь, которая, по-видимому, «исправить», стоит на неверной ячейке, нажимая F2 для редактирования, а затем нажимая Enter.Ничего не меняя, а только переоценивая значение ячейки.Похоже, что это делает для повторного применения форматирования ..

После «F2 + Enter»

Кто-нибудь знаеткак это исправить из кода?Определенно, не делая SendKeys или что-нибудь в этом роде ...