VBA格式问题

时间:2018-11-25 14:53:03

标签: excel vba excel-vba number-formatting

我正在使用VBA(€记帐)格式化具有以下格式的单元格:

"_-* #.##0,00 €_-;-* #.##0,00 €_-;_-* ""-""?? €_-;_-@_-"

但是奇怪的是,在Excel中,数字显示为50,05是50,05000€。

当我选择格式时,我得到以下信息:

_-* #,##000 \€_-;-* #,##000 \€_-;_-* "-"?? \€_-;_-@_-

零位的逗号不见了。我该如何解决?

谢谢

3 个答案:

答案 0 :(得分:0)

我在左侧发现.很奇怪。

我会尝试类似"_-* # ##0,00 €_-;-* # ##0,00 €_-;_-* ""-""?? €_-;_-@_-"

答案 1 :(得分:0)

我在这里看到数千个小数点分隔符错误

"_-* #.##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

答案 2 :(得分:0)

我发现了错误。我不得不交换逗号并指向:

"_-* #,##0.00 €_-;-* #,##0.00 €_-;_-* ""-""?? €_-;_-@_-"