2015-08-25 5 views
0

Я написал следующую функцию, которая считает, что время имеет значение «Х» в определенных ячейках.Что вызывает эту ошибку компиляции?

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 

Когда я запускаю функцию, я получаю сообщение об ошибке, но выделяя «Sub CountVars()». Is is

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

Уже пытался Google, но не мог узнать, откуда исходит ошибка. Есть предположения?

ответ

1

Попробуйте, как,

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 object может занять объединение ячеек адресов в виде текстовой строки, но только в одной части.

Смежные вопросы