Формат сводной таблицы генерирует несоответствие типов - PullRequest
0 голосов
/ 27 апреля 2018

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

.DataBodyRange.NumberFormat = "_(* #,##0.00_);_(* (#,##0.00);_(* " - "??_);_(@_)"

При этом возникает ошибка времени выполнения 13 Несоответствие типов. Я пробовал копировать и вставлять другие форматы, и все работает отлично, например,

.DataBodyRange.NumberFormat = "#,##0.00_);(#,##0.00)"

Полагаю, это как-то связано со звездочками в формате, но я не достаточно разбираюсь в проблемах.

1 Ответ

0 голосов
/ 27 апреля 2018

Хорошо, я немного поиграл с этим и нашел проблему. Вопреки тому, что я изначально думал, это не связано со звездочками, а с вложенными кавычками. Если вы полностью удалите внутренние кавычки, они отформатируются так, как ожидается:

Это работает: .DataBodyRange.NumberFormat = "_(* #,##0.00_);_(* (#,##0.00);_(* - ??_);_(@_)"

Это не работает: .DataBodyRange.NumberFormat = "_(* #,##0.00_);_(* (#,##0.00);_(* "-" ??_);_(@_)"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...