[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ実行の速度が極端に遅い』(hal)
エクセルで簡単なマクロを作成したのですが、他のエクセルブックを開いている場合(マクロを作成したブックと他のブックの2つ)と他のブックを開いていない場合(マクロを作成したブックのみ)で比較すると、他のブックを開いている場合の方がマクロ実行の速度が極端に遅く(1秒と3分くらいの差)なります。是正方法を教えて下さい。使用しているエクセルは2003版で、osはvistaです。
どんなマクロのどこを? (seiya)
Sub Macro1()
'
Dim I As Long, K As Long, J As Integer
Dim D1 As Date
Dim T2 As Date
I1 = 1
D1 = Worksheets("SHEET1").Cells(1, 1)
For I = 1 To 50000
D2 = Worksheets("3MIN").Cells(I, 1)
If D2 = D1 Then T2 = Worksheets("3MIN").Cells(I, 2) If T2 = "9:00:00" Then J = 1 For K = I To I + 94 Worksheets("SHEET1").Cells(J + 3, 1) = Worksheets("3MIN").Cells(K, 2) Worksheets("SHEET1").Cells(J + 3, 2) = Worksheets("3MIN").Cells(K, 3) Worksheets("SHEET1").Cells(J + 3, 3) = Worksheets("3MIN").Cells(K, 4) Worksheets("SHEET1").Cells(J + 3, 4) = Worksheets("3MIN").Cells(K, 5) Worksheets("SHEET1").Cells(J + 3, 5) = Worksheets("3MIN").Cells(K, 6) J = J + 1 Next K Exit For
End If
(hal)
> 他のブックを開いている場合の方がマクロ実行の速度が極端に遅く(1秒と3分くらいの差)なります。
[ツール(T)]メニュー → [オプション(O)...] → [計算方法]が[自動(A)] にチェックされている場合 [手動(M)]にチェックを入れてみる とどうなりますか?
マクロ実行が終われば、[自動(A)]に戻します。 この操作で、期待しているとおり動くようになれば、この操作を「マクロの記録」で記録して、 記録されたコードを現在のコードの処理の最初([手動(M)]にするコード)と最後([自動(A)]に戻す)に記述すればいいと思います。
(とおりすがり)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.