【发布时间】:2015-04-17 19:57:20
【问题描述】:
我有一些我正在自动化和分发的大型数据集。我想消除警告用户存储为文本的数字的绿色小三角形。我使用了以下代码,但在大量工作表上非常慢。
Range(Cells(1, 1), Cells(lastrow, lColumn)).Select
'kill those dang green cell triagles
Dim rngCell As Range, bError As Byte
For Each rngCell In Selection.Cells
For bError = 3 To 3 Step 1
With rngCell
If .Errors(bError).Value Then
.Errors(bError).Ignore = True
End If
End With
Next bError
Next rngCell
如您所见,我已经将它减少到 1/7 的时间,方法是不循环遍历我试图阻止的每个错误,但它仍然非常慢。
我也已经知道了
Application.ErrorCheckingOptions.NumberAsText = False
但我不想使用它,因为我不想更改用户的系统设置。我想要循环的效果而不遍历所有单元格。我可以告诉 Excel 在不逐个单元格循环的情况下停止检查整个范围吗?
任何有效且快速的方法都会非常有帮助。提前谢谢你!
【问题讨论】:
-
在您知道它们不是相关警告的特定单元格中隐藏特定警告是完全合理的,同时仍然保持用户在其他单元格中出现其他警告的意图。
标签: excel vba error-checking