概要

Excelのセルをコピーし続けると知らぬ間に図形が大量に作成されているときがあります。特にセルの行の間に線分を配置すると、見た目にも気が付かず、何千の線分が重なっていることがあります。コピーのたびに倍になりますので例えば16回コピーすれば2の16乗となり65536個となります。これらによりファイルを開く時、異常に時間がかかる場合があります。 shapedel.xls

動作環境

Excel 2007,Exce 2011で正常に動作することを確認しました。

ソースコード

'アクティブなワークシートにあるすべての図形を削除します。

Sub shape_delete_all()
    Dim n As Integer
    
    n = ActiveSheet.Shapes.Count
    MsgBox n
    For Each myshape In ActiveSheet.Shapes
        myshape.Delete
    Next
End Sub