• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定範囲のオートシェイプの削除)

指定範囲のオートシェイプを削除する方法

このQ&Aのポイント
  • 指定範囲のオートシェイプを削除する方法について詳しく教えてください。
  • オートシェイプ削除時にシート内の全てのオートシェイプが削除されてしまう問題に対する解決策はありますか?
  • 指定範囲のオートシェイプの削除がうまくいかない場合、修正すべき部分や原因を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

Intersectメソッドは、引数の共通部分を返してくれるものです。 上記のコードでは、すべてのシェイプの削除判定として、myRとSRを比較していますが、myRもSRはRange("B21:AA22")ですので、必ず削除条件を満たしてしまっているのが問題のようです。 そこで、SRには検出したシェイプのセルの範囲を指定するように修正します。 Set SR = Range("B21:AA22") を下記のコードに修正し、実行してみてください。 Set SR = Range(myShp.TopLeftCell, myShp.BottomRightCell)

ae-1sp
質問者

お礼

解決できました。 教えて頂いた内容で、今後はIntersectが意味がようやく判りました。今後は活用できそうです。 先の質問と同様、丁寧に教えていただきありがとうございました。