4年に一度のスポーツの祭典 全競技速報中

指定したセルにある画像を削除する様にしたいのですが、
マクロで記録すると、どうしても(Picture 32)のど写真に番号が付いてしまいます。
写真は、その都度変わるので、指定の場所にある例えば、C5セルにある画像だけを消すVBAを教えて下さい。
宜しくお願いします。

gooドクター

A 回答 (3件)

こんにちは。



2つほどサンプルを。ご参考までに。

' // C5セル内に画像左上角がある場合は削除
' // 画像右下がC5セルからはみ出しているかどうかを問わない
Sub SampleProc1()

  Dim Pic As Picture
  For Each Pic In ActiveSheet.Pictures
    If Pic.TopLeftCell.Address = "$C$5" Then
      Pic.Delete
    End If
  Next

End Sub


' // セルの選択範囲内に完全に含まれる画像を削除
Sub SampleProc2()

  Dim Pic As Picture
  Dim r  As Range
  
  If UCase$(TypeName(Selection)) <> "RANGE" Then Exit Sub
  For Each Pic In ActiveSheet.Pictures
    Set r = Range(Pic.TopLeftCell, Pic.BottomRightCell)
    If Selection.Address = Union(Selection, r).Address Then
      Pic.Delete
    End If
    Set r = Nothing
  Next

End Sub
    • good
    • 5
この回答へのお礼

大変助かりました。
ありがとうございました

お礼日時:2007/02/05 13:29

こんな感じでしょうか。

ただし画像左上がC5にないと削除されません。
セルを覆い隠すように配置されているなら補足してください

Sub Macro()
Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
  If shp.TopLeftCell.Address = "$C$5" Then
   shp.Delete
  End If
 Next shp
End Sub
    • good
    • 3
この回答へのお礼

大変助かります。
ありがとうございました

お礼日時:2007/02/05 13:30

TopLeftCell


で判断してはいかがでしょう?
    • good
    • 0
この回答へのお礼

TopLeftCellでも判断できました。
ありがとうございました。

お礼日時:2007/02/05 13:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング