やけに大きいエクセルのファイルに潜む謎 オートシェイプ
0

    新年明けましておめでとう。

     

    ことしもよろしく頼むぞ!

     

    早速今年初講座じゃ。

     

    エクセルのファイルだが、なぜかやけに大きなサイズになって重くてたまらんと言う者はおらんかな?

     

    原因の一つにオートシェイプがある。オートシェイプが消されずに増えすぎたことが原因じゃ。

     

    オートシェイプとは円とか直線とか矢印とかの図のことじゃ。挿入タグにあるテキストボックスなどの図形がすべてそれに当たる。

     

    マクロを始めた初心者にありがちな話じゃが、コピー、ペーストを繰り返すマクロを作成したとする。

     

    コピーした中にこのオートシェイプが含まれていると、コピー、ペーストを繰り返す結果どんどん増えていくことになる。

     

    もし貼りつける前にオートシェイプを削除するようにマクロを入れたとしても、そのマクロで削除できなかった可能性が高い。

     

    範囲を指定して削除すればオートシェイプも削除されるものだが、ほんの少しでも範囲外にオートシェイプがはみ出していれば消えたようにみえても罫線の上に残ってしまうことがあるのじゃ。

    しかもコピペを繰り返しているから同じ個所にいくつも重なっていることが多い。

     

    わしの知っているファイルで一番多かったのはセルとセルの間の罫線上になんと15,000個もオートシェイプが重なって残っていたことがある。

     

    使用している人はファイルが重くて重くてフリーズ状態で仕事ができないとわしに助けを求めてきた。

     

    初めは原因がわからなかったがサイズが異常に大きいので調べたところオートシェイプが重なって残っていることがわかったのじゃ。

     

    残っていたオートシェイプはテキストボックスじゃったが全部消すとファイルサイズは32MBから200KBまで小さくなった。

     

    オートシェイプの数をどうやって調べたかというと、範囲を指定してその中のオートシェイプの数をカウントするマクロを作ったのじゃ。

     

    そうしないとオートシェイプはどこにあるのかわからないのでな。

     

    見つかったオートシェイプは一括で削除できるぞ。

     

    その方法は「検索と選択」タグ内に「オブジェクトの選択」がある。これをクリックするとマウスポインターの形が白十文字から普通の矢印に替わる。

     

    この状態でオートシェイプのある範囲をドラッグするとオートシェイプの重なったすべてが選択状態になるのでDeleteボタンを押せば一気に削除できる。

     

    15,000個もオートシェイプが重なって残っていた時は削除もかなり時間がかかったぞ。

     

    次回はこのオートシェイプを削除するマクロを解説しよう。期待せよ。

     

     

    おまけ動画!
    派祖混蔵のコーナリングを見よ!



    | 派祖混蔵 | エクセルの技じゃ! | 00:49 | comments(0) | trackbacks(0) | - | - |