範囲指定した箇所のオートシェイプを削除したく、WEBで見つけた物に手を加えてみました。しかし、実行されるとシート内全てのオートシェイプが削除されてしまいます。
今削除したいのは、Range("B21:AA22")範囲内のものだけです。
正直なところ大半の意味も判らないまま触っているので、問題箇所の検討が付きません。
どの部分を修正するばいいのでしょうか?
また、何故ダメなのかも合せてご教示いただけたら幸いです。
宜しくお願い致します。
Dim myShp As Shape
Dim myR As Range, SR As Range
On Error Resume Next
Set myR = Range("B21:AA22")
If Err.Number <> 0 Then Exit Sub
On Error GoTo 0
For Each myShp In ActiveSheet.Shapes
Set SR = Range("B21:AA22")
If Not Intersect(SR, myR) Is Nothing Then
myShp.Delete
End If
Set SR = Nothing
Next
Set myR = Nothing
No.1ベストアンサー
- 回答日時:
Intersectメソッドは、引数の共通部分を返してくれるものです。
上記のコードでは、すべてのシェイプの削除判定として、myRとSRを比較していますが、myRもSRはRange("B21:AA22")ですので、必ず削除条件を満たしてしまっているのが問題のようです。
そこで、SRには検出したシェイプのセルの範囲を指定するように修正します。
Set SR = Range("B21:AA22")
を下記のコードに修正し、実行してみてください。
Set SR = Range(myShp.TopLeftCell, myShp.BottomRightCell)
解決できました。
教えて頂いた内容で、今後はIntersectが意味がようやく判りました。今後は活用できそうです。
先の質問と同様、丁寧に教えていただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) VBAで重複した値のセルに色付けをしたい 1 2022/11/02 16:12
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
女友達にLINEしたら、既読スル...
-
Yahooフリマってどれくらい時間...
-
エクセルで住所の混在する「丁...
-
知恵袋よりこのサイトの方が容...
-
VBA:Openステートメントで開い...
-
Facebookメッセンジャーの不具合
-
バッチファイルを使用したsql@p...
-
yahooオークションで、すぐに削...
-
指定した文字があった場合、そ...
-
喧嘩をしてLINE削除され、 また...
-
インスタグラムのギャラリーの...
-
教えてgooの回答の削除
-
(Access)複数条件の重複デー...
-
猫にグラグラの熱湯かける動画...
-
BOX Fresh で質問に回答したの...
-
【エクセル】セル内の右側のみ...
-
離婚後の連絡
-
アクセスにおいて間違って削除...
-
AI削除には数多のキーワード設...
-
勝手に消えた質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じ質問
-
猫にグラグラの熱湯かける動画...
-
〇〇〇ー田中さん
-
教えてgooの回答の削除
-
インスタアカウント、前の携帯...
-
教えてgooでガイドライン違反と...
-
ウェブページへのアクセス不可 ...
-
BA狙いで
-
質問を削除する方法教えて下さ...
-
インスタグラムのギャラリーの...
-
VBA:Openステートメントで開い...
-
Gboardの予測変換についての質...
-
アクセスにおいて間違って削除...
-
バッチファイルを使用したsql@p...
-
もう関わりたくない人がいたらL...
-
【エクセル】セル内の右側のみ...
-
女友達にLINEしたら、既読スル...
-
指定した文字があった場合、そ...
-
エクセルで下の空白行を削除したい
-
喧嘩をしてLINE削除され、 また...
おすすめ情報