引用:
ここに掲載したコードは、あくまでScreenupdating=falseの実行結果を見るためだけのマクロです。
実際には実務で使用しているマクロはScreenupdating=falseとtrue間での記述内容がこのテストマクロとは全く違っています。
ここでは、画面のちらつきの原因を探ることを目的に記述内容をシンプルにしたテストマクロを作成しました。
テストとしては、負荷が足りない気はしますが。。
まっさらなブックにおいて、ご提示のコードを実行した場合の処理時間はどのくらいですか?
当方だと、1秒も掛からずに終わります。カーソルが点滅しているな〜程度です。
ScreenUpDation = Treu のままだと、アクティブセルの移動に伴い
画面スクロールが行われているのが確認できますが、それでも1秒も掛からずに終わります。
引用:
このテストマクロを使用して他のPC(会社のPC3台)と比較した結果、セルを選択してからイベントが終了するまで会社のPCは3台ともまったく画面のちらつきがなく、自宅のPCはおおきなちらつきがあるという結果でした。
引用:
会社のPCも自宅のPCもOS、エクセルバージョンともに全く同じ仕様でエクセルについてはオプションの設定など同じになっています。
ハードウェアについては同じではありませんよね?
CPU、メモリ、HDD/SSD、GPU(グラフィックボードが搭載されているのかCPU内蔵なのか)
当方のリッチではない環境でも 1秒で終わり、カーソルのブリンク程度で終わる処理
多分、あなたの会社のPCでも、同程度なんだと思います。
それなのに「画面全体」に対しブリンクする事から考えれば マシンが非力なのではないかと思います。
Excel終了状態から、容量の大きなExcelのファイルをダブルクリックで開き
開き終わるまでの時間を比べてみてください。大きな時間差が出ませんか?
Windowsタスクマネージャー のパフォーマンス の各項目について
自宅/会社 PC において
・開こうとする時
・VBAを実行した時
それぞれ、どのリソースが 高負荷になっているのかによって、ボトルネックとなるパーツが判りますので
その更新を検討してはどうでしょう。
Windowsの再インストールで軽快にはなるかも知れませんが、期待薄と思います。
パーツの更新ほどではありませんが、
Excel の設定で 軽快になる事もありますので、設定をしていないのであれば下記を実施してみてください。
1:開発タブ - アドイン - Excelアドイン で、「アドイン」が表示されます。
有効なアドイン のうち、使わないアドインのチェックを外す
(開発タブが非表示の場合は、表示にするか
ファイル - オプション - アドイン アクティブなアプリケーションアドインに項目があれば
その項目を選択し、「設定」)
2:オプション - 詳細設定 - 表示 - ハードウェアグラフィックアクセラレーターを無効にする
にチェックを入れる
(Office365の場合、Excelに設定が無い場合がある様です。
Word の設定を行うと、Excelの設定も変わる様ですので、Wordで設定ください)
3:オプション - アクセスビリティー(または簡単操作)の
操作をアニメーションで表示する チェックを外す
4:C:\Users\(ユーザ名)\AppData\Roaming\Microsoft\Excel にある Excel15.xlb
ファイルの削除 −−− 起動時に再作成されます
特に「2」は グラフィックボードがないマシンでは チェックを入れておいた方が良い項目です