- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定範囲のオートシェイプの削除)
指定範囲のオートシェイプを削除する方法
このQ&Aのポイント
- 指定範囲のオートシェイプを削除する方法について詳しく教えてください。
- オートシェイプ削除時にシート内の全てのオートシェイプが削除されてしまう問題に対する解決策はありますか?
- 指定範囲のオートシェイプの削除がうまくいかない場合、修正すべき部分や原因を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Intersectメソッドは、引数の共通部分を返してくれるものです。 上記のコードでは、すべてのシェイプの削除判定として、myRとSRを比較していますが、myRもSRはRange("B21:AA22")ですので、必ず削除条件を満たしてしまっているのが問題のようです。 そこで、SRには検出したシェイプのセルの範囲を指定するように修正します。 Set SR = Range("B21:AA22") を下記のコードに修正し、実行してみてください。 Set SR = Range(myShp.TopLeftCell, myShp.BottomRightCell)
お礼
解決できました。 教えて頂いた内容で、今後はIntersectが意味がようやく判りました。今後は活用できそうです。 先の質問と同様、丁寧に教えていただきありがとうございました。