【发布时间】:2013-09-01 22:30:39
【问题描述】:
我正在尝试将另一个工作表中的范围保存到变量中,然后将其与单元格进行比较。 我有这个代码:
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。
我也尝试将 rng 调暗为范围,但不起作用。
可能是什么问题?
编辑:原来的问题已解决,但遇到了另一个问题。 如果我使用此代码(小的更改),我会再次遇到相同的错误。是我使用偏移量错误还是问题出在哪里?
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,一切都会正常运行。 -
好的,抱歉。不确定我是否应该开始一个新问题。下次会做!