dポイントプレゼントキャンペーン実施中!

お世話になります。
OS:Windows10 CPU:intel COREi5 メモリ:8GのExcel2013でVBAを含んだファイルを作成して使っています。そんなに複雑なVBAは使ってないと思うのですが処理にすごく時間がかかります。

しかし、同じファイルを
OS:WindowsVISTA CPU:intel Core2Duo メモリ:2Gで使うと明らかに処理時間が短くなります。

Excel以外のソフトや、PCが立ち上がるまでの速度は圧倒的にWindows10のPCのほうが早いのですが、なぜExcelだけ重いのか不思議です。
抽象的な質問で申し訳ありませんが、ご教示お願いいたします。

質問者からの補足コメント

  • うれしい

    ご教示ありがとうございます。
    Excelの問題なのですね。

    私の場合
    checkSheet.Cells(1, 11).Value = base.Cells(1, 7).Value
    checkSheet.Cells(2, 11).Value = base.Cells(2, 7).Value
    のような記述を大量にしておりましたので、それを改善してみます。

    ありがとうございました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/10/11 18:49

A 回答 (1件)

Excel 2013からセキュリティ強化のために、シートの保護・解除のための処理が遅くなってしまった様です。



改善策
・コピーはまとめて実施する

例えば、Cells(1, 10).Value Copy Cells(5, 10).Paste
セル1個ずつ行なうので時間がかかる。
Range(A1:D1)のように範囲を示すRangeオブジェクトを使って一括コピペする。

・一々セルを更新表示させない。

セル値を更新すると新しい中身がブラウザで見えます。エクセルが更新表示しているからです。
これを止める。

スタート前に、Application.ScreenUpdating = False を入れ、画面の更新表示を止める。
終了前にApplication.ScreenUpdating = True で戻して置く。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!