2014-09-29 187 views
0

如何从包含另一个范围的偏移量的函数中返回范围?返回从另一个范围的偏移量的范围VBA

这是我的代码(功能):

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 

从上面的例子中,我试图从偏移功能更换范围。可能吗?

+0

你在做什么你的代码?你知道函数和变量吗? – Tushar 2014-09-29 06:27:22

+0

我想传递给rng的参数只是一个字符串,A1,B2等。 – 2014-09-29 06:49:27

回答

1

这里有几个问题:

  • 您应该定义参数
  • 使用Set的类型来设置你没有带定义了什么是r
  • Offset需求的回复范围
  • 两个参数,行和列
  • 因为您没有指定工作表,所以您的函数将返回活动工作表上的范围

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 
+0

感谢您纠正我。我是VBA新手。 – 2014-09-30 06:43:02