从另一个范围VBA的Offset返回一个范围
如何从包含另一个范围的偏移的函数返回一个范围?
这是我的代码(function):
Private Function ProcessRange(rng) As Range If rng <> "A1" Then ProcessRange = Range(rng).Offset(r + 2) //this is the problem Else ProcessRange = Range("A1") End If End Function
从上面的例子中,我试图从偏移量函数中取代范围。 可能吗?
这里有几个问题:
- 您应该定义参数的types
- 使用
Set
来设置返回范围 - 你没有定义什么是
r
-
Offset
需要两个参数,行和列 - 由于您没有指定工作表,您的function将在活动工作表上返回一个范围
。
Private Function ProcessRange(rng As String) As Range If rng <> "A1" Then Set ProcessRange = Range(rng).Offset(2, 0) ' To Offset by 2 rows Else Set ProcessRange = Range("A1") End If End Function