LoginSignup
6
9

More than 5 years have passed since last update.

VBAが遅くなる想定外な理由

Last updated at Posted at 2017-07-24

概要

新しい部署でのプログラム経験者という事で、ちょっとしたデータをゴニョゴニョするためのマクロを作ることを命じられました。
これ見よがしに1日で完成させてマニュアルまで別シートに丁寧に準備したところ、何故かoffsetとかrangeでvalueやtextを設定するロジックが片っ端から遅くなりました。

原因は、VBAとは全く関係ないと思っていたマニュアルのシートにありました、、、

環境

PC

Windows 7 64bit
Microsoft Office Home and Business 2013
(Excel)

サンプルエクセル

例えば下記のような「マニュアル」と「ツール」の2つのシートを持つエクセルファイル
001.PNG

002.PNG

原因

リンクでの図の貼り付けが、offsetやvalue等のcellの操作系関数の実行速度に影響がでます!

サンプルエクセル

シート「ツール」のB2:O7のセルをコピーして、別シート「マニュアル」に「リンク貼り付け」を行うと、今回のようなことになります。

003.PNG

004.PNG

対策

リンクが駄目です。
下記のようなVBAならではの更新停止も効きません。

Application.ScreenUpdating = False

図での貼付けにするか、マニュアルは別シートにして下さい!

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9