我总是遇到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
答案 0 :(得分:0)
除了回答您的问题外,我还为您提供建议。
根据经验,在许多用户之间共享的文件具有大量的单元格样式。删除它们有很长的路要走:
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
关于格式匹配和重新格式化,您似乎只想更改某些单元格,为什么不对整个范围应用格式呢?