2014-09-29 184 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