Excel VBA值为0时清除格式

时间:2019-03-24 05:37:18

标签: excel vba

我创建了一个报告,其中有些单元格的值为空。当我的代码将数字格式应用于空单元格时,对于空白值,它显示为0%。我添加了一个代码,该代码然后删除了显示为0%的所有值和格式,但是运行时间非常长(大约30秒),有时会使Excel崩溃。

代码:

Application.ScreenUpdating = False

Dim cell As Range
For Each cell In Range("v11:ay9000")
    If cell = 0 Then cell.ClearFormats
Next cell

Application.ScreenUpdating = True

对于代码速度的任何帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

您有一个XY problem

您正在尝试缩短修复最初问题所需的时间。相反,您应该首先设置正确的数字格式。

Range("v11:ay9000").numberformat = "0%;-0%;;"