プロが教えるわが家の防犯対策術!

初めて質問させていただきます。
VBAは勉強中です。
Excel2016を使用しております。

Sheet1のN14セルに「Label」を置いていて
それを押した際にN14セルに「Label」以外の画像が挿入されている場合
その画像を削除。
「Label」のみの場合、画像を挿入する。
というものを作りたいと考えています。

いろいろ調べているのですが
現状、画像の挿入までしかできていません。
画像がすでにある場合は削除、なければ挿入を
したいです。
力添えいただければ幸いです。
よろしくお願いいたします。

以下、作成中のものです。
Private Sub Label1_Click()
Dim objShape As Object
Set objShape = ActiveSheet.Shapes.AddPicture( _
Filename:="C:\Users\X.png", _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=Range("N16").Left, _
Top:=Range("N16").Top, _
Width:=Range("N16").Width, _
Height:=Range("N16").Height)
objShape.ZOrder msoSendToBack
End Sub

A 回答 (1件)

For Each oobj In ActiveSheet.Shapes


If Left(oobj.Name, 5) <> "Label" Then
oobj.Delete
End If
Next

これで削除できます。
    • good
    • 0

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

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


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