• ベストアンサー

エクセル:VBAでシート上のオートシェイプ以外の図形を消去したい。

お世話になります。 ★VBAでシート上のオートシェイプ以外の図形を消去したいのです。 No.1902175で、エクセルシート上の図形の削除方法をいろいろ教えていただきました。今回は、そのときにはあてはまらなかった、「オートシェイプをのぞく図形をVBAで削除したい」のです。 補足:シートは毎月のある行事等の予定表です。オートシェイプにはマクロを登録しているため消したくありません。その他の図は季節の行事に関するクリップボード等の図で、担当者がシートから毎月手作業で削除していたものです 以上、よろしくお願いいたします。

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

  • ベストアンサー
  • takibo
  • ベストアンサー率57% (116/200)
回答No.1

No.1902175でWendy02さん回答されているコードのうち    If shp.Type = msoAutoShape Then の1行を    If shp.Type <> msoAutoShape Then に変更すれば良いと思います。 図形のタイプについてはこちらが参考になるかと思います。 http://www.asahi-net.or.jp/~zn3y-ngi/YNxv212_ShapesType_tbl.html

yastaro
質問者

お礼

ありがとうございました。できました。感激です^^ 参考サイトもありがとうございます。

関連するQ&A

  • エクセル:シート上の「オートシェイプ」のみの一括削除について

    お世話になります。過去に同じ質問があればお許しください。 『シート上のオートシェイプ(図形)だけの削除』について、 普通の消去等では残ってしまいます。 シート上のすべてのオートシェイプのみの一括削除の仕方を教えてください。よろしくお願いいたします。

  • マクロでオートシェイプ以外の図形を消去したい。

    いろいろとマクロを手探りで独学しています。どうしてもわからないので教えてください。 シート上にたくさんの画像が並べてあります。これはマクロを使って挿入・配置されたものです。それを印刷してしまったら、新たにその上から異なる画像を貼り付けていくようにしています。画像は挿入されてきますが、前の画像を消去しなければ、重なってしまうため、消去しなければいけません。ただし、画像を挿入するためのマクロをオートシェイプに登録しているので、これ以外の画像(図)を消去するというマクロが必要です。この消去するマクロも「新しいマクロの登録」で試したのですが、Picture***と画像に名前をつけた状態のものを選択し、消去するというもので、希望のマクロではありません。可能であれば、選択範囲のセルの画像を消去するというマクロが理想です。よろしくお願いいたします。

  • オートシェイプとは

    昨日は図形の移動でお世話になりました。引き続き図形について質問です。 オフィス2010のワードにてオートシェイプの範囲が分かりません。 挿入の図のところに図、クリップアート、図形、SmartArt、グラフ、 スクリーンショットの6つがあります。   この中で矢印などは図形にあるので、これはオートシェイプだと思います。 クリップアートやsmartArtなどもオートシェイプのような気がします。

  • excel/vbaにてオートシェイプに名前の定義づけ

    こんにちは。教えてください。オートシェイプを描きそれに対し名前をつけました。ex)"図"と。それをコピーをすると同じ名前の図形がコピーされます。 同じ名前のついたオートシェイプに対して削除や非表示という操作をしたいです。 書き方を教えてください。 頭の中ではアクティブシートの中に名前が"図"と同じオートシェイプがあれば、そのオブジェクトを削除(非表示もしたい)しなさい。 ていうふうな書き方の感じでいいのでしょうか? VBAを勉強しはじめたばかりです。 教えてください。

  • オートシェイプ図形の角度をマクロで変えたい

    エクセルのオートシェイプで図形を作って、それをグループ化して、 A1のセルへ数値を入力するとシート1上にあるオートシェイプの角度が変化するようにしたいのです。マクロで出来るでしょうか。 シート上の図形は、Group25 です。 エクセル2000を使用しています。 よろしくお願いします。

  • オートシェイプの図形の高さ、幅をマクロで変えたい

    エクセルのオートシェイプで図形を作って、それをグループ化して、 A1(縦)A2(横)のセルへ数値を入力するとシート1上にあるオートシェイプの長さと幅が変化するようにしたいのです。マクロで出来るでしょうか。 シート上の図形は、Group25 です。 エクセル2010を使用しています。 よろしくお願いします。

  • エクセルVBAで直線図形(オートシェイプ)を書きたいのですが。

    エクセルVBAで直線図形(オートシェイプ)を書きたいのですが。座標の指定方法がいまひとつ分かりません。 マクロの記録で、座標数値の設定は分かるのですが、セルに対しての指定方法が分かりません。 図形をドラッグ指定したA1セルからC1セルまで直線を書きたいのです。セルへの始点終点の指定方法が有るのでしょうか。

  • オートシェイプの一括消去

    お世話になります。 先日は、QNo.3029500 にて、日報の入力値の一括消去についてお伺いしたところ、アドバイスを頂き感謝しております。 今回は、日報の別シートにて月次報告欄を作っていますが、その中にマクロでオートシェイプを利用した印鑑を押すようにしています。 これを、上記の消去方法で消そうとするとオートシェイプのみ残ってしまうのです。これも一括で消すにはどのようにすればいいのでしょうか?

  • Wordのオートシェイプをまとめて消去する方法

    Wordのファイルにオートシェイプがたくさんありまして、それらをまとめて消去したいのですが、図形描画ツールバーの矢印をクリックしてマウスで範囲していする以外に、マクロでまとめて消す方法はないでしょうか?

  • excel VBA オートシェイプのテキスト段落

    おはようございます。 【オートシェイプ内のテキスト行間を指定するプロパティ】 オートシェイプ内のテキスト行間を指定するプロパティはありますでしょうか? excel 2007で オートシェイプにテキストをいれた場合、 右クリックすると「段落」という項目がでてきて、 オートシェイプ内のテキストの行間を指定できたのですが、 オートシェイプ内のテキストの行間をVBAで指定することはできるのでしょか? (マクロを登録してもなにも記述されていないので、困っています。) 最終的にはアクティブブックの全シートのオートシェイプの行間を変更する VBAにしたいと思っています。 参考URL等あれば教えていただけませんでしょうか? よろしくお願いいたします。

専門家に質問してみよう