• ベストアンサー

フォームボタンを残して画像を消したい

マクロ初心者です。こちらではいつもお世話になっております。 現在、以下のような構文で、ある特定のセル(ここではB1セル)にかかっている画像を消すというマクロを組んでいます。 Sub 画像を消す() Dim shp As Shape For Each shp In ActiveSheet.Shapes If shp.TopLeftCell.Address = "$B$1" Then shp.Delete End Sub これで画像は消えるのですが、同時にこのマクロを実行するために設定してあるフォームボタンまで一緒に消えてしまうので困っています。 B1セルにボタンの一部がはみ出しているためですが、このボタンをB1セルにかからないように縮小すると使いづらいので、 何とか今のはみ出したままでも使えるようにしたいです。 フォームボタンのみを残して画像を消すには、どのような構文に変えればよいのでしょうか? お知恵をお貸しいただければ幸いです。よろしくお願いします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんな感じとか。 Sub 画像を消す()      Dim shp  As Object   For Each shp In ActiveSheet.DrawingObjects     If shp.TopLeftCell.Address = "$B$1" Then       If UCase$(TypeName(shp)) = "PICTURE" Then         shp.Delete       End If     End If   Next End Sub

lightheart
質問者

お礼

解決できました。 ありがとうございました!

関連するQ&A