- ベストアンサー
画像を削除するマクロが知りたい
いつもお世話になっております。 別スレッドで「参照先ブックを開かずにコピーしたい」という投稿をしておりますが、その作業をしている同じブックでもう一つ実行したいことがあり、質問させていただきます。 現在、エクセルのマクロを使って、下記のようなプログラムを組んでいます。 (1)あるボタンを押すとフォームが出てくる (2)フォームの中に画像のリストがあり、どれかを選んでクリックすると、ボタンのすぐ下のセルに画像が挿入される VBAの構文でいうと以下のような内容です。 Private Sub フォーム1_Change() If フォーム1.ListIndex = 0 Then ChDir ThisWorkbook.Path Workbooks.Open FileName:="BookA.xls" Sheets("Sheet1").Select Range("B2:H2").Copy Windows("BookB").Activate Sheets("Sheet2").Select Range("B1").Select ActiveSheet.Paste Workbooks("BookA").Close Windows("BookB").Activate Else If フォーム1.ListIndex = 2 Then ・・・(3,4,5,と続く) End If End Sub この要領で画像の貼付けを行い、一度挿入した画像が気に入らなくて別の画像に入れ替えたいという場合があるのですが、再度フォームボタンからリストを選択し直すと、新しく挿入した画像がその前に貼り付けられていた画像の上に重なる形で載ってきます。 この動作を繰り返すとどんどんブックの容量自体が重くなってしまうので、新しい画像を選択・挿入すると同時にその前に貼り付けられていた画像は削除される、というプログラムを組みたいです。 deleteとかclearとかいろんな構文を使って試してみましたが、どうしてもうまく行きません。 詳しい方のお知恵を拝借できれば幸いです。よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
お礼
とても丁寧な回答をいただきありがとうございます。 しかしエラーこそ出ないものの、残念ながら画像は消えず、目的達成できませんでした…。
補足
下記回答を投稿した後もあれこれやっていたら、構文自体に間違いは無いのに自分の単純なミスが原因で画像が消えなくなっていたことが判明しました。失礼しました…。 何とか解決しました! 本当にありがとうございました!!