Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51395 / 76732 ←次へ | 前へ→

【30207】Re:このコードは高速化可能か
回答  角田 WEB  - 05/10/21(金) 17:42 -

引用なし
パスワード
   こんにちは。
>計算時間が遅くお手上げ状態です。
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

2 hits

【30205】このコードは高速化可能か ken 05/10/21(金) 16:34 質問
【30207】Re:このコードは高速化可能か 角田 05/10/21(金) 17:42 回答
【30208】Re:このコードは高速化可能か ken 05/10/21(金) 18:23 質問
【30209】Re:このコードは高速化可能か 角田 05/10/21(金) 18:50 回答
【30210】Re:このコードは高速化可能か ken 05/10/21(金) 19:02 お礼
【30254】Byte型について わさび 05/10/24(月) 8:34 質問
【30280】Re:Byte型について 小僧 05/10/24(月) 13:15 発言
【30293】Re:Byte型について でれすけ 05/10/24(月) 16:48 発言
【30299】Re:Byte型について わさび 05/10/24(月) 18:44 質問
【30301】Re:Byte型について 参加 ichinose 05/10/24(月) 19:49 発言
【30355】Re:Byte型について 参加 わさび 05/10/25(火) 18:24 お礼
【30359】Re:Byte型について 参加 ichinose 05/10/25(火) 19:23 発言
【30368】Re:Byte型について 参加 わさび 05/10/26(水) 8:30 お礼
【30314】Re:Byte型について でれすけ 05/10/25(火) 9:45 発言
【30358】Re:Byte型について わさび 05/10/25(火) 19:04 お礼

51395 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free