ヘルパー関数を使用して範囲を取得してバリアントに格納しようとしていますが、いくつかの問題が発生しています。
最初は、単に次のことを試しただけです。
Function GetRange(RangeLetter As String, Optional LastUniqueLine As Long = 1048576) As Varient
Static LastUniqueLineStr As String
If LastUniqueLineStr = "" Then
LastUniqueLineStr = LastUniqueLine
End If
Set GetRange = Range(RangeLetter + "2:" + LastUniqueLineStr)
End Function
しかし、それはうまくいかなかったようです。 Range()
ここでは範囲外のように見えたので、機能させるにはワークシートを渡す必要があると考えました。
Function GetRange(RangeLetter As String, Optional LastUniqueLine As Long = 1048576, Optional ActiveSheet As Worksheet) As Variant
Static LastUniqueLineStr As String
Static CurrentSheet As Worksheet
'If CurrentSheet = Nothing Then
Set CurrentSheet = ActiveSheet
'End If
If LastUniqueLineStr = "" Then
LastUniqueLineStr = LastUniqueLine
End If
Set GetRange = CurrentSheet.Range(RangeLetter + "2:" + LastUniqueLineStr) ' This is the line where I get the error.
End Function
そして、それもうまくいきません。次のエラーが表示されます。
Run-time error '1004':
Method 'Range' of object 'Worksheet' failed
呼び出すときに、これから必要な範囲を取得するにはどうすればよいですか?