• ベストアンサー

ExcelVBAで、シートに画像が貼り付けてあるかを判断したいのですが

ExcelVBAで、シートに画像が貼り付けてあるかを判断したいのですが、 画像が貼り付いているならその画像を削除し、貼り付いていなければ何もしない、というExcelVBAを組みたいのですが、画像が貼り付いているかどうかの判断は可能なのでしょうか? ご存知の方がいらっしゃいましたら、何卒ご教示下さいますよう、宜しくお願い致します。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

TypeName関数で戻り値を判定してみました。 Dim pic As Shape For Each pic In ActiveSheet.Shapes If TypeName(pic) = "Picture" Then pic.Delete End If Next

bab2461
質問者

お礼

ご回答、誠に有難うございました。 図形全てを削除するわけにはいきませんので、このご回答が一番近いのですが、うまく動作しませんでした。 これから色々と試してみます。 どうも有難うございました。

その他の回答 (2)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

問答無用で消して良いのなら↓だけでも。 ActiveSheet.DrawingObjects.Delete 貼り付けてあるグラフなども消えちゃいますけど。

bab2461
質問者

お礼

ご回答、誠に有難うございました。 これから試してみたいと思います。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

Sub PicDelSamp()   Dim Sh As Shape      For Each Sh In ActiveSheet.Shapes '---アクティブシート全ての図形に対し         Sh.Delete      Next Sh   End Sub

bab2461
質問者

お礼

ご回答、誠に有難うございました。 これから試してみたいと思います。

関連するQ&A