Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9292 / 13644 ツリー ←次へ | 前へ→

【28191】ピクチャ画像のみを削除する tolong 05/8/30(火) 17:29 質問[未読]
【28196】Re:ピクチャ画像のみを削除する りん 05/8/30(火) 18:27 回答[未読]
【28212】Re:ピクチャ画像のみを削除する tolong 05/8/31(水) 9:56 お礼[未読]

【28191】ピクチャ画像のみを削除する
質問  tolong  - 05/8/30(火) 17:29 -

引用なし
パスワード
   こんにちは。

シートにあるピクチャ画像のみを削除するVBAを作成しています。
よい方法をご存知でしたら教えてください。

現在のコードでは、
「指定したコレクションに対するインデックスが境界を超えています。」
と言うエラーが、Nameの取得箇所で起こってしまいます。
また、画像はA列に貼り付けてあるのですが、
A2,A4,A6 と言うように飛び飛びに削除されています。

Cnt = Worksheets(1).Shapes.Count
For i1 = 1 To Cnt
  picName = ActiveSheet.Shapes(i1).Name
  If Left(picName, 7) = "Picture" Then
    ActiveSheet.Shapes(picName).Select
    Selection.Delete
  End If
Next

また、本当は「A列のピクチャ画像は全て削除」と言うような
コードを作りたいと思っているのですが
可能でしょうか?

よろしくお願いいたします。(Ver:2003)

【28196】Re:ピクチャ画像のみを削除する
回答  りん E-MAIL  - 05/8/30(火) 18:27 -

引用なし
パスワード
   tolong さん、こんばんわ。

>また、本当は「A列のピクチャ画像は全て削除」と言うような
>コードを作りたいと思っているのですが

Sub test()
  Dim sh As Shape
  For Each sh In ActiveSheet.Shapes
   '単純に左上がAかどうかで判定
   If sh.Type = msoPicture And sh.TopLeftCell.Column = 1 Then
     sh.Delete
   End If
  Next
End Sub
こんな感じです。

【28212】Re:ピクチャ画像のみを削除する
お礼  tolong  - 05/8/31(水) 9:56 -

引用なし
パスワード
   りんさん、レスありがとうございます。
上記コードを参考にして、当初思っていた通りの仕様で
作成する事が出来ました。
助かりました〜。
どうもありがとうございました。

9292 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free