什么导致这个编译错误?

我写了下面的函数来计算时间在某些单元格中有一个“X”值。

Sub CountVars() Dim r As range, count As Long For Each r In range("C3", "F3", "H3") If r.Value = "X" Then count = count + 1 Next End Sub 

当我运行的function,我得到一个错误,但突出显示“Sub CountVars()”。 是说

 "Compile error: wrong number of arguments or invalid property assingment". 

已经尝试谷歌,但无法找出错误来自哪里。 有什么想法吗?

试试看,

 Sub CountVars() Dim r As range, count As Long For Each r In range("C3, F3, H3") If r.Value = "X" Then count = count + 1 Next End Sub Alternately as, Sub CountVars2() Dim r As range, count As Long For Each r In Union(range("C3"), range("F3"), range("H3")) If r.Value = "X" Then count = count + 1 Next End Sub 

Range对象可以将单元格地址的联合作为文本string,但只能是一个单元。