はいいえ、あなたは何をしたいんVB6で関数を合計でそこに内蔵されていないが、あなたは簡単に1を書き込むことができます。
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
私はこれを確認するため、タイプミスを監視sytazませんでしたので、ご注意ください。これは次のように使用することができます:
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
あなたが容認するかどうかを指定するために、別のオプションのブール値を取る(無視)範囲外のための方法を変更することができます。現在、配列に存在する要素よりも多くの要素を合計するように要求した場合、エラーが発生します。
vb6またはvb.netのどちらを使用しているかを指定してください。 vb.netとフレームワーク3.5の場合、Linqを使用して最初の5つのアイテムを「取った」後に合計することができます。 – Aphelion
私はちょうど私の投稿を編集しました:私はVB6を使用しています – Wawel100
コードを再利用することを目的としている場合は、TakeメソッドとSumメソッドを実装する独自のメソッドを作成することができます。 – Aphelion