Я пытаюсь сохранить диапазон от другого листа до переменной, а затем сравнить его с ячейкой. У меня есть этот код:Как установить диапазон в переменную?
Function collectUtfall(A1 As String, Ax As String)
Dim rng As Variant
Dim sum as Integer
sum = 0
Set rng = Sheets("Utfall").Range("N2").Value <------- This line
If rng = Ax Then
sum = sum + 10
Else: sum = 33
End If
collectUtfall = sum
End Function
Проблема заключается в том, что он действует не так, как я надеялся. Я получаю ошибку #Value, и я сузил ее до строки, помеченной в коде. Если я удалю эту строку, я не получу ошибку, но, конечно, результат будет равен 0.
Я попытался сгладить, так как Range также не работает.
В чем может быть проблема?
EDIT: Оригинальная проблема решена, но встречается с другой. Если я использовал этот код (небольшие изменения), я снова получаю ту же ошибку. Я неправильно использую смещение или где проблема сейчас?
Function collectUtfall(A1 As String, Ax As String)
Dim rng As Variant
Dim sum As Integer
sum = 0
rng = Sheets("Utfall").Range("M2:O272").Value
If rng.Offset(0, 1) = Ax Then
sum = sum + 10
Else: sum = 33
End If
collectUtfall = sum
End Function
Вы должны чтить ответ на предыдущий вопрос, отметив, что, как правильно и сделать новый вопрос. 'Offset' - метод' Range'. Удалите '.Value' и все должно работать нормально. –
Хорошо, извините. Не был уверен в том, должен ли я начать новый вопрос или нет. Сделаю в следующий раз! – andysando