エクセルのVBで教えてほしいんですが、
以下のもので
実行時エラー'1004':
指定したコレクションに対するインデックスが境界を越えています
とエラーがでます
Sub delgrf()
Sheets("断面図").Select
For i = 1 To 1000
ActiveSheet.Shapes.Range(Array(1)).Delete
On Error GoTo 10
Next i
10 Sheets("入力").Select
End Sub
sheet断面図に何もないときに実行すると
ActiveSheet・・・でエラーします(当然だけど;^^)
「断面ありませんよ~」みたいなダイアログ表示して
実行時エラーを回避できるにはどうしたらいいですか?
ご教授お願いします。
No.1ベストアンサー
- 回答日時:
こんな感じでしょうか?
Sub delgrf1()
Dim sp As Variant
Sheets("断面図").Select
If ActiveSheet.Shapes.Count = 0 Then
MsgBox "シェイプはありません。"
Else
If MsgBox("シェイプを削除しますか?", vbYesNo) = vbYes Then
For Each sp In ActiveSheet.Shapes
sp.Delete
Next
End If
End If
Sheets("入力").Select
End Sub
単なる削除ならこちら
Sub delgrf0()
Dim sp As Variant
Sheets("断面図").Select
For Each sp In ActiveSheet.Shapes
sp.Delete
Next
Sheets("入力").Select
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) Excelのマクロ ブック間である範囲をコピー Workbooks(“a.xlsx“).Sheets 3 2022/05/12 17:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Excel VBA インデックスの境界について
Excel(エクセル)
-
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
エクセルマクロで指定範囲内の図形を削除
Excel(エクセル)
-
-
4
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
5
図形のクリアで実行時の1004エラーになる
Visual Basic(VBA)
-
6
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WindowsでのPythonの挙動について
-
String""から型'Double'への変...
-
UserForm1.Showでエラーになり...
-
-2147418107 (&H80010005)
-
VBAでfunctionを利用しようとし...
-
VBA データ(特定値)のある最...
-
フランスの生年月日(jj/mm/aaaa)
-
On ErrorでエラーNoが0
-
エクセル関数を教えてください
-
mailstorehomeのエクスポートで...
-
数式は残し値をクリアするマク...
-
VC++2010で作成中に特定のエラ...
-
インポート時のエラー「データ...
-
文字列内で括弧を使うには
-
【VBA】ワークブックを開く時に...
-
ExcelVBAのDoEventsによるエラー?
-
マクロで"#N/A"のエラー行を削...
-
.VBSだとADODBのプロバイダが見...
-
Excel ピボットテーブル平均・...
-
error C2664: 'LPCTSTR' に変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報