カチカチクリックから卒業!Excelの図形全削除を自動化する方法

【業務効率化】VBA
スポンサーリンク

突然ですが、前任者から引き継いだExcelファイルを開いて、絶望したことはありませんか?

  • 「なぜか大量のスクリーンショットが重なっている」
  • 「見えない場所に古いボタンが残っている」……。

これを1つずつマウスで選んでDeleteキーで消していく作業。100個あったら、1個3秒としても300秒(5分)もかかります。何より、手が疲れますし、イライラしますよね。

この記事では、そんな「図形消去のイライラ」をわずか1秒で解決する方法を解説します。

【業務効率化】VBAの記事を見る 

すべての図形を一瞬で消去するVBAコード

以下のコードをコピーして貼り付けるだけでOKです。

Sub DeleteAllShapes()
    ' 作業中のシートにある図形(画像、オートシェイプ、ボタンなど)を数えます
    Dim count As Long
    count = ActiveSheet.Shapes.Count
   
    ' もし図形が1つもなければ終了します
    If count = 0 Then
        MsgBox "消去する図形は見つかりませんでした。", vbInformation
        Exit Sub
    End If
   
    ' 確認メッセージを出します(間違えて消さないため)
    Dim result As VbMsgBoxResult
    result = MsgBox(count & "個の図形をすべて削除しますか?", vbYesNo + vbQuestion)
   
    If result = vbYes Then
        ' すべての図形を削除する魔法の一行
        ActiveSheet.Shapes.SelectAll
        Selection.Delete
        MsgBox "完了しました!", vbInformation
    Else
        MsgBox "キャンセルしました。", vbExclamation
    End If
End Sub

使い方:簡単3ステップで完了!

  1. Excelで Alt + F11 を押して、プログラムを書く画面(VBE)を開きます。
  2. 画面上のメニューから「挿入」→「標準モジュール」をクリックします。
  3. 出てきた白い画面に、上のコードを貼り付けて、F5 キーを押すだけ!

なぜこのVBAコードが効果的なのか

Excelにおける「図形(Shapeオブジェクト)」には、写真やオートシェイプだけでなく、各種入力ボタンなども含まれます。 このコードを実行することで、シート上に配置されたすべてのオブジェクトを一括でスッキリ清掃できます。 

私自身も以前は一回ずつ手動でクリックして指を痛め、貴重な時間を無駄にしていました。

でも、このコードを作ってからは、一瞬で綺麗なシートへリセットされる快適さを実感しています。作業効率化に役立ちますので、ぜひお試しください!

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました