简单代码上的VBA内存不足错误

时间:2016-08-25 01:15:42

标签: excel vba

我有一个非常简单的代码,我试图在这里运行:

Sub Highlight()
Dim Diff As Range, cell As Range
Set Diff = Sheets(1).UsedRange.Columns("N:S")
For Each cell In Diff
If cells.Value2 > 0.1 Then
cell.Interior.ColorIndex = 0
End If
Next
End Sub

但是,在If语句中,我得到运行时7:Out of Memory。我在一个相当小的数据集(< 5,000 cells)上运行它,并关闭了所有其他程序/不必要的进程,并且任务管理器显示了大量内存。我不知道在这一点上可能导致什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您的代码中有拼写错误。您的For Each变量为cell,但您的代码使用cells.Value2

For Each cell In Diff                 ' Using cell (singular)
    If cells.Value2 > 0.1 Then        ' Using cells (plural)
        cell.Interior.ColorIndex = 0
    End If
Next

此外,我怀疑您的范围(Diff)中的值不是数字或为空。