Задать значение ячейки в параметрах NumberFormat - PullRequest
0 голосов
/ 10 сентября 2018

Я установил числовой формат целого столбца, например, на отрицательную красную валюту с двумя десятичными знаками:

#.##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.Ничего не меняя, а только переоценивая значение ячейки.Похоже, что это делает для повторного применения форматирования ..

Format Cells Image

После «F2 + Enter»

image

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

...