Sorry, your point 1 is right, I have to check the return value,
even tho it doesn't complain about it.
Peter
"Jim Thomlinson" wrote in message
...
Two things.. First your object required issue arises because the function
wants to return a value, but you are not catching the value.
Secondly if I rememeber correctly VB/VBA does not like to pass ByVal into
a
function and it defaults to ByRef no matter what.
Hope that helps...
"Peter Chatterton" wrote:
I'm trying to pass a Range to a Function but it doesn't recognize it
-- it gives an 'object required' msg.
If I set up a Watch on the Range, it says its type is Range/Range.
The Range itself looks ok on the screen.
Any ideas?
Peter.
Sub testMacro()
Dim dataRange As Range
Set dataRange = ActiveWorkbook.Sheets("Portfolio Performance"). _
Range(ActiveWorkbook.Sheets("Portfolio
Performance").Cells(10, 1), _
ActiveWorkbook.Sheets("Portfolio
Performance").Cells(20, 25))
dataRange.Interior.ColorIndex = 3 ' ok
TestThisVariant (dataRange) ' ok
TestThisRange (dataRange) ' object required
End Sub
Function TestThisRange(ByVal rRange As Range) As Boolean
TestThisRange = True
End Function
Function TestThisVariant(vRange)
End Function