|
こんにちは。
>計算時間が遅くお手上げ状態です。
50000*3*50=750万回ですか?
先ず、ここには記載されてませんが全ての変数は
Dim文で型宣言(変数宣言)してありますか?
していなければ全てVariant型になりますから、
LongなりDoubleなり型宣言してあるものに比べれば
遅いでしょう。
> y(n, g, a) = -Cells(5, a).Value * Dt
> xy(n, g, a) = 2 * Cells(5, a).Value * w * h * Dt
> ElseIf n > 0 Then
> x(n, g, a) = 〜 + b11 * Cells(n + 4,a).Value + b12 * Cells(n + 5, a).Value)
> y(n, g, a) = 〜 + b21 * Cells(n + 4, a).Value + b22 * Cells(n + 5, a).Value)
↑で使っているセル範囲(A1:C50005)を処理に入る前に
一括して配列に取り込んでおけばセルへのアクセスが減って
早くなるでしょう。
Dim vntCell As Variant
vntCell = Worksheets("Sheet1").Range("A1:C50005").Value
|
|