Why not pass the boundaries of the subset of the array that you are interested in.
Also, you are passing the array by ref, so I'm not sure what the issue is that you are worried about in terms of passing copies of the array.
Module Module1
Sub Main()
Dim dataArray(5) As Double
For i = 0 To 5
dataArray(i) = i ^ 1.3
Next
Dim first As Integer = 2
Dim last As Integer = 3
Dim b As Double = mySum(dataArray, first, last)
End Sub
Function mySum(ByRef scalar() As Double, ByVal first As Integer, ByVal last As Integer) As Double
Dim _sum As Double
For i = first To last
_sum = _sum + scalar(i)
Next i
Return _sum
End Function
End Module
Hope that helps.
-Rd