首页 > 解决方案 > Excel - 将会计格式转换为数字

问题描述

我总是遇到 Excel 格式损坏的问题(来自太多用户的太多 Excel 工作表)。每隔一段时间,Excel 喜欢将单元格随机转换为会计格式(以及欧元,那时......)。我正在尝试编写一个简单的 VBA 脚本来将这些烦人的会计格式转换回数字格式。

我尝试了以下几种变体,但出现应用程序错误……有什么想法吗?

Sub Test2()
Dim sht As Worksheet
  For Each sht In ActiveWorkbook.Worksheets
    Application.findFormat.NumberFormat = _
            "_([$€-2] * #,##0.00_);_([$€-2] * (#,##0.00);_([$€-2] * ""-""??_);_(@_)"
    sht.Cells.NumberFormat = "0.00"
  Next sht
End Sub

标签: vbaexcel

解决方案


除了回答你的问题,我还有一个建议给你。

根据经验,在许多用户之间共享的文件具有大量的单元格样式。删除它们有很长的路要走:

Sub StyleKill()
Dim sty As Style
On Error Resume Next
For Each sty In ActiveWorkbook.Styles
     If Not sty.BuiltIn Then
         sty.Delete
     End If
Next styT
End Sub

关于格式匹配和重新格式化,您只想更改某些单元格似乎很奇怪,为什么不对整个范围应用格式?


推荐阅读