Нет, в VB6 нет встроенной функции суммирования, которая делает то, что вы хотите, но вы можете написать ее легко:
Public Function SumRange(ByRef dblArray() As Double, Optional ByVal StartRange As Long = -1, Optional ByVal Length As Long = -1)
'-1 on StartRange indicates start at low bound
If StartRange = -1 Then
StartRange = LBound(dblArray)
End If
'-1 on Length indicates to span all elements to the end of the array
If Length = -1 Then
Length = UBound(dblArray) - StartRange - 1
End If
Dim dTotal As Double
Dim lNdx As Long
For lNdx = StartRange To StartRange + Length - 1
dTotal = dTotal + dblArray(lNdx)
Next lNdx
SumRange = dTotal
End Function
Обратите внимание, что я не проверял это, так что следите за опечатками. Может использоваться следующим образом:
dResult = SumRange(myArray) 'summ all
dResult = SumRange(myArray, 3) 'sum all starting at offset 3
dResult = SumRange(myArray, , 2) 'sum the the first 2 elements
dResult = SumRange(myArray, 2, 4) 'sum a range start at 2 and with length of 4
Вы можете изменить метод, чтобы использовать другое необязательное логическое значение, определяющее, будете ли вы допускать (игнорировать) выход за пределы. Прямо сейчас возникнет ошибка, если вы попросите суммировать больше элементов, чем существует в массиве.