Правильный NumberFormat в VBA-Excel - PullRequest
0 голосов
/ 14 ноября 2018

Поначалу я знаю, что этот вопрос звучит легко.

Я хочу иметь запятую после третьей цифры.Например: 10 000 или 1 000 и 100 и 10. Я могу сделать это вручную в Excel, используя «Формат»> «Число»> 0 «десятичные дроби».Это дает мне правильное форматирование.Но теперь наступает поворот!Если я записываю макрос этого действия, код выглядит примерно так:

MyChart.Axes(xlValue).TickLabels.NumberFormat = "#'##0"

Но при применении получается что-то другое, а именно: 100'000 10'000 1'000 '100'10

Here is what I get with

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

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Если вы хотите изменить разделитель тысяч в Excel со значения по умолчанию , на ', используйте

Application.ThousandsSeparator = "'" 
Application.UseSystemSeparators = False

, тогда

.NumberFormat = "#,##0"

выдаст

enter image description here

Обратите внимание, что это изменит разделитель тысяч в вашем полном Excel (не только в этой книге).


В качестве альтернативы вы можете изменить его в масштабе всей системыв настройках вашей системы.

0 голосов
/ 14 ноября 2018

Полагаю, вам следует использовать «#, ## 0», где запятая обозначает разделитель тысяч, который в настройках вашей операционной системы можно определить как апостроф.Я не знаю, как форматировать, если вы хотите, чтобы отличаться от настроек системы.Справка: https://www.ablebits.com/office-addins-blog/2016/07/07/custom-excel-number-format/

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