【问题标题】:VBA formatting issueVBA格式问题
【发布时间】:2018-11-25 14:53:02
【问题描述】:

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

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

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

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

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

零中的逗号不见了。我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: excel vba number-formatting


    【解决方案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 €_-;_-* ""-""?? €_-;_-@_-"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-12
          • 1970-01-01
          • 2014-12-17
          • 1970-01-01
          • 2012-04-18
          • 2020-06-22
          相关资源
          最近更新 更多