
エクセルの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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBA インデックスの境界について
Excel(エクセル)
-
図形のクリアで実行時の1004エラーになる
Visual Basic(VBA)
-
エクセル/自動記録VBAが、なぜ実行時エラー?
Excel(エクセル)
-
-
4
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
5
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
EXCEL VBA 文中の書式ごと複写するには
Visual Basic(VBA)
-
9
エクセルマクロで指定範囲内の図形を削除
Excel(エクセル)
-
10
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
11
VBAでExcel関数入力時のシングルクォーテーションについて
Visual Basic(VBA)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
【VBA】ワークブックを開く時に...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
実行時エラー 438 の解決策をお...
-
文字列内で括弧を使うには
-
VBAのリストボックスで、横スク...
-
インポート時のエラー「データ...
-
「実行時エラー '3167' レコー...
-
【Access】Excelインポート時に...
-
Filter関数を用いた結果、何も...
-
On ErrorでエラーNoが0
-
ACCESS97 実行時エラー '2455'...
-
コンボボックスの特定項目だけ...
-
VB2010でデータグリッドビュー...
-
ActiveCell.FormulaR1C1の変数
-
【VB.NET】 パワポ操作を非表示で
-
ExecuteNonQueryメソッドの戻り値
-
実行時エラー'-2147467259(8000...
-
マクロで"#N/A"のエラー行を削...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報