VBA格式问题
Posted
技术标签:
【中文标题】VBA格式问题【英文标题】:VBA formatting issue 【发布时间】:2018-11-25 14:53:02 【问题描述】:我正在使用 VBA(€ 会计)格式化具有以下格式的单元格:
"_-* #.##0,00 €_-;-* #.##0,00 €_-;_-* ""-""?? €_-;_-@_-"
但奇怪的是,在 Excel 中,数字显示为 50,05 是 50,05000 欧元。
当我选择格式时,我得到以下信息:
_-* #,##000 \€_-;-* #,##000 \€_-;_-* "-"?? \€_-;_-@_-
零中的逗号不见了。我该如何解决这个问题?
谢谢
【问题讨论】:
【参考方案1】:我发现左边的.
很奇怪。
我会尝试类似"_-* # ##0,00 €_-;-* # ##0,00 €_-;_-* ""-""?? €_-;_-@_-"
【讨论】:
【参考方案2】:我在这里看到了一些千位和小数点分隔符错误
"_-* #.##0,00 €_-;-* #.##0,00 €_-;_-* ""-""?? €_-;_-@_-"
用于点作为千位分隔符和逗号作为小数分隔符
虽然您的示例(即50,05
)指向逗号小数分隔符
可能是你的excel采用了相反的约定
转到单击文件>选项,单击“高级”选项卡并转到“编辑选项”部分,最后您可以检查假定的千位和小数分隔符
然后相应地更改您的代码
或者您可以使用采用当前分隔符约定的有点“不敏感”的代码:
Selection.NumberFormat = "_-* #" & Application.ThousandsSeparator & "##0" & Application.DecimalSeparator & ",00 €_-;-* #" & Application.ThousandsSeparator & "##0" & Application.DecimalSeparator & "00 €_-;_-* ""-""?? €_-;_-@_-"
或者,以更易读的形式:
With Application
Selection.NumberFormat = "_-* #" & .ThousandsSeparator & "##0" & .DecimalSeparator & ",00 €_-;-* #" & .ThousandsSeparator & "##0" & .DecimalSeparator & "00 €_-;_-* ""-""?? €_-;_-@_-"
End With
【讨论】:
【参考方案3】:我发现了错误。我不得不交换逗号并指向:
"_-* #,##0.00 €_-;-* #,##0.00 €_-;_-* ""-""?? €_-;_-@_-"
【讨论】:
以上是关于VBA格式问题的主要内容,如果未能解决你的问题,请参考以下文章