サイズと複雑さのために書き込み時間までワークシートを参照しないようにしようとしているため、VBA で 2 つの配列の和積を実行しようとしています。
アプリケーション関数を使用して、2 つの範囲を定義して sumproduct を実行できることはわかっていますが、それでもワークシートを参照しています。純粋にコードで配列を使用するだけでそれを行うことはできますか?
サイズと複雑さのために書き込み時間までワークシートを参照しないようにしようとしているため、VBA で 2 つの配列の和積を実行しようとしています。
アプリケーション関数を使用して、2 つの範囲を定義して sumproduct を実行できることはわかっていますが、それでもワークシートを参照しています。純粋にコードで配列を使用するだけでそれを行うことはできますか?
もちろん、SUMPRODUCT を呼び出して配列を渡すだけです (ただし、少し非効率的であることに注意してください)。
Sub testing2()
Dim varr1(1 To 10)
Dim varr2(1 To 10)
Dim vres As Variant
Dim j As Long
For j = 1 To 10
varr1(j) = j
varr2(j) = j * 10
Next j
vres = Application.WorksheetFunction.SumProduct(varr1, varr2)
End Sub