[[20080728110751]] 『選択セル内の図形のみ削除』(ぶんコ) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『選択セル内の図形のみ削除』(ぶんコ)

いつもお世話になっております。。
アクティブシートに複数の図形があるのですが、
マクロで選択セル内の図形のみ削除したいです。
色々調べましたが、まかりませんでした・・・(>_<)
ご存じの方、教えてくださいm(_ _)m宜しくお願い致します!


 一部でも選択セル内にはいっていたら、なのか、
 全体が選択セル内にはいっていたら、なのか
 が不明です。

 ↓は、シェイプの左上が入っているセルを取得します。
 Dim sp As Shape
  Set sp = ActiveSheet.Shapes("オートシェイプ 1")
  MsgBox sp.TopLeftCell.Address
 (MARBIN)

 >全体が選択セル内にはいっていたら
 バージョンで こんな感じでは?

 '------
Sub 選択範囲内の図形を消す()
Dim MyShape As Shape
    For Each MyShape In ActiveSheet.Shapes
        With MyShape
            If Not Intersect(Selection, .TopLeftCell) Is Nothing And _
                Not Intersect(Selection, .BottomRightCell) Is Nothing Then
                .Delete
            End If
        End With
    Next
End Sub
 '------

 (HANA)


 入力規則やオートフィルタのドロップダウンがあった場合も考慮してDrawingobjectsでチェックすると、

 '=================================================================
 Sub objdelete()
    Dim dro As Object
    Dim R As Range
    Dim RR As Range
    On Error Resume Next
    Set R = Selection
    If Err.Number = 0 Then
       For Each dro In ActiveSheet.DrawingObjects
          Set RR = Range(dro.TopLeftCell, dro.BottomRightCell)
          If Not Intersect(RR, R) Is Nothing Then
             dro.Delete
             End If
          Set RR = Nothing
          Next
       End If
    Set R = Nothing
 End Sub

 尚、これは選択セル範囲に図の一部が含まれていれば 削除します。

 ichinose@今日は、いまのところ暇


HANAさま ichinose@さま

コメントありがとうございます!
出来ました!大変勉強になりました。
貴重なお時間を頂き、感謝致します!m(_ _)m


MARBINさまへ

コメントのお礼を打つ際、間違いの無い様、お名前を「コピーし、貼り付けておりますが、MARBINさまのお名前を記載し忘れておりました。お時間をさいてコメントして頂いたのに大変申し訳ございませんでした。

下記のご指摘を他のスレッドで受けました。

↓↓

他のスレッドで見かけて気になったのですが、
[[20080728110751]] 『選択セル内の図形のみ削除』(ぶんコ)

 一部の回答者を無視するというのは何か意図があるのでしょうか?

↑↑

しかし、初歩的な私のミスで、何の意図もございません。
誠に申し訳ございませんでした。


 私も
 >他のスレッドで見かけて気になったのですが〜
 は見ていましたが、とりたてて指摘するほどのことでもないのにな〜
 と思いました。
 お気になさらず。
 (MARBIN)

 MARBINさま

 コメント本当にありがとうございます。
 精神的に救われました・・。
 この度は誠に申し訳ございませんでした。
 (ぶんコ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.