vba - 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
解决方案
除了回答你的问题,我还有一个建议给你。
根据经验,在许多用户之间共享的文件具有大量的单元格样式。删除它们有很长的路要走:
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
关于格式匹配和重新格式化,您只想更改某些单元格似乎很奇怪,为什么不对整个范围应用格式?
推荐阅读
- amazon-web-services - Amazon AWS SQS 队列消息保留期
- angular - RxJS:TypeError:您在预期流的位置提供了无效对象。您可以提供 Observable、Promise、Array 或 Iterable
- javascript - For in 循环不会遍历对象的每个项目
- android - 如何使应用发布符合 Google Play 64 位要求 Google 错误
- php - 如何使用 PHP 生成多个 PDF 并通过电子邮件附件发送?
- swift - 协议一致性检查
- docker - portainer.io 的入口点不像在 Docker 映像中那样工作
- java - 如何使用 Spring Boot/Spring Data 实现历史数据更改
- javascript - 在 React 中显示多个 API 响应
- javascript - JQuery Autocomplete没有在移动设备的键盘后按上调用更改方法