• ベストアンサー

エクセルで大量のオートシェイプの直線・四角形を全て消したいのですが

ある方からエクセル形式のスケジュール表を引き継いだのですが何故か透明なオートシェイプの直線・四角形がスケジュール表の中に点在していて困っています。例えばある透明な四角形ボックスを選択すると名前ボックスに四角形3000などとでて到底消しきれる数ではありません。 またスケジュール表ごとコピーして新規作成してもそれもコピーされてしまうので意味がありません。一斉に消す方法はないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tetubin
  • ベストアンサー率100% (1/1)
回答No.2

一括で消すことは簡単に出来ます。 方法: (1)ツールバーの「編集」の「ジャンプ」を選択します。 (2)左下に「セル選択」のボタンをクリック (3)オブジェクトに選択し、「OK」を実行します。   これで、作成されている直線・四角・矢印などの図形などが全部選択され  ますので、「Delete」 キーを押すと削除されます。

Gamil_T
質問者

お礼

ありがとうございます。できました。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

>直線・四角形だけ 矢印付きも含めて消す。円も消す。円を含めないときは円の関連の If Left(myshp.Name, Len("Oval")) = "Oval" Then MsgBox "円" del = 1 End If を削除。 標準モジュールに、下記貼り付け。F5キーを押すと実行されます。 結構難しい。コメントあり、は下記で大丈夫のよう。 Sub test02() Dim myshp As Shape For Each myshp In ActiveSheet.Shapes del = 0 If Left(myshp.Name, Len("Line")) = "Line" Then MsgBox "線" del = 1 End If If Left(myshp.Name, Len("Oval")) = "Oval" Then MsgBox "円" del = 1 End If If Left(myshp.Name, Len("Rectangle")) = "Rectangle" Then MsgBox "四角" del = 1 End If If del = 1 Then myshp.Delete End If Next myshp End Sub

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.5

>No.2さんの回答で解決できたのですが、これはマクロ?か何かでしょうか?よくわからないのですが M-SOFTさんが提示されたのはマクロです。 シェイプの種類を指定しての削除も可能です。 参考HPです。 http://www.asahi-net.or.jp/~zn3y-ngi/YNxv212.html

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

横槍レスすみません。 M-SOFTさんのコードについてです。 myshap.Delete ↓ myshp.Delete ですね。 あと、コメントがあるとエラーになります。 マクロ実行時はエラーになりませんが、コメント のあるセルを選択すると強制終了になると思いま す。 シートにコメントがない場合は問題ありません。 失礼しました。

noname#187541
noname#187541
回答No.3

こんにちは。 直線と四角形だけでしょうか。 すべてのオートシェイプを消す方法です。 Dim myshp As Shape For Each myshp In ActiveSheet.Shapes myshap.Delete Next

Gamil_T
質問者

補足

No.2さんの回答で解決できたのですが、これはマクロ?か何かでしょうか?よくわからないのですが

  • ujikinsan
  • ベストアンサー率45% (77/170)
回答No.1

ツールバーの所で右クリックか、表示→ツールバーで図形描画を選択します 図形描画のツールバーの所にオートシェイプの選択がありますのでクリックして消したい図形をドラッグして選択 Delete ボタンを押せば消去できませんか?

Gamil_T
質問者

補足

もちろん消せますが上でも書いたように選択したとき名前ボックスに四角形三千何百とでることから3000以上透明なオートウェイプがあるというわけですのでいちいちクリックしてデリートをしていたのでは日が暮れてしまいます。

関連するQ&A