
指定範囲(I9:CW40)から図形(円・四角形)のクリアをするとエラーになってしまいます。終了をすればクリアはできるのですが。御教授願えませんでしようか?(尚四角形はセルの枠線上に貼り付けるようにしてあります。)
Sub 図形のクリア()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim myRng As Range
Dim sp As Variant
Set myRng = Range("I9:CW40")
For Each sp In ActiveSheet.Shapes
If Not Intersect(Range(sp.TopLeftCell, sp.BottomRightCell), myRng) Is Nothing Then
sp.Delete (ここで実行時1004のエラーになる。)
End If
Next
Set myRng = Nothing
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
No.1ベストアンサー
- 回答日時:
当然の結果だと思います
ForEachは Inに指定した コレクションが普遍であるとして動作します
削除を行いたいのであれば ShapesのCountプロパティを使ってループを組みます
dim n as integer, sp as Variant
for n = ActiveSheet.Shapes.Count to 1 step -1
set sp = ActiveSheet.Shapes(n)
if Not Intersect(Range(sp.TopLeftCell, sp.BottomRightCell),myRng) Is Nothing then
sp.Delete
end if
next
といった具合に Shapesコレクションの末尾から削除するようにしましょう
おしゃるとおりだと思います。無事に解決できました。
やはり勉強不足は否めませんし冷静に考えればそうなんですけどご指摘のように自分で考えて修正できるように少しずつでもスキルアップしていきたいと思います。
本当にありがとうございます。
No.2
- 回答日時:
当方xl2010ですが、特にエラーも無く実行できました。
一般にFor Eachを用いて削除すると、内部の管理番号?の振り直しのためか、消し損じが出ることがありますが、今回若干の試験では、消し損じも確認できませんでした。
エラー発生時のShapeを確認し、何か特異点が無いか確認してはいかがでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pythonでのローカルファイルか...
-
Web.Config 構成ファイルのエラー
-
シェルスクリプトの実行エラー...
-
VBAでFormat がうまく使えない
-
C# HttpWebRequestのエラーにつ...
-
NET USE コマンドでエ...
-
ホームページビルダーの”全体の...
-
既にVBアプリが入っているP...
-
VBAで印刷するとエラーになって...
-
ファイルのダウンドードでエラー
-
LTspiceのTime Stepエラーについて
-
ExcelVBAでODBCドライバを使っ...
-
VB5のEXEの起動時エラー
-
Access ADOで文字列を日付型へi...
-
UWSC初心者です。
-
不明なソフトウェア例外(0xe06...
-
Googleドライブにインターネッ...
-
jw cadの名前をつけて保存・・...
-
フォルダを間違って削除しない...
-
C:\\Users\\All Users がエク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pythonでのローカルファイルか...
-
Web.Config 構成ファイルのエラー
-
VBAでFormat がうまく使えない
-
シェルスクリプトの実行エラー...
-
Debug Assertion Failed?
-
ホームページビルダーの”全体の...
-
NET USE コマンドでエ...
-
POV-Ray についての質問です!
-
aspxをサーバーで表示すること...
-
不明なソフトウェア例外(0xe06...
-
flash.ocxエラーについて
-
ACCESS VBAのOpenForm書き方
-
ASPでoo4o接続ができません。
-
LTspiceのTime Stepエラーについて
-
既にVBアプリが入っているP...
-
WNetAddConnection*()の使い方
-
EXCELを開くとエラーがでます。
-
図形のクリアで実行時の1004エ...
-
VBAで印刷するとエラーになって...
-
マクロのエラー原因&解決策を教...
おすすめ情報