错误91对象variables或块variables未设置范围

我是VBA的新手,因为它试图编写一个在工作表的不同列中查找重复项的macros。 我在这里find答案很有帮助。 然而,这只解决了一列。 所以要添加更多的列,我改变了代码如下

Sub test() Dim iWarnColor As Integer Dim rng As Range Dim rngCell As Variant Dim iWarnColor1 As Integer Dim rnga As Range Dim rngCell1 As Variant Set rng = Range("A1:A17") ' area to check ' iWarnColor = xlThemeColorAccent2 For Each rngCell In rng.Cells vVal = rngCell.Text If (WorksheetFunction.CountIf(rng, vVal) = 1) Then rngCell.Interior.Pattern = xlNone Else rngCell.Interior.ColorIndex = iWarnColor End If Next rngCell Set rnga = Range("B1:B17") ' area to check ' iWarnColor1 = xlThemeColorAccent3 For Each rngCell1 In rnga.Cells vVal = rngCell1.Text If (WorksheetFunction.CountIf(rnga, vVal) = 1) Then rngCell1.Interior.Pattern = xlNone Else rngCell1.Interior.ColorIndex = iWarnColor1 End If Next rngCell1 End Sub 

在运行此代码时,我得到“运行时错误91:对象variables或块variables未设置”

它说错误在

 For Each rngCell1 In rnga.Cells 

我在这里做错了什么?

我可以在Excel 2010中本地运行代码而不会出现任何错误,因此不确定问题是什么。

尝试将rngCell1的types从“ Variant更改为“ Range然后查看它是否有任何区别。

作为一个侧面说明, vVal并没有Dim 。 它只会在你的模块的顶部添加Option Explicit时发生抱怨,所以在这里没关系。