こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel VBA if文 マクロ強制終了するには?

現在 2つのbookがあります。
・データ data.xls
・集計 total.xls
★条件は以下
・この2つのbookには同じ名前の 『sheet名・数』が情報保持しています。
・sheet名は不特定の名前が付けられています。
★処理したいマクロ内容
・data.xls …の各sheet と total.xls 各sheet参照させて
マッチしたら処理。
マッチしなかったらマクロ強制終了。

Sub match()

Dim i As Integer

For i = 1 To Worksheets.Count

'任意のbookを指定します
Windows("data.xls").Activate
sheet_copy = ActiveSheet.Name
Sheets(sheet_copy).Select

'範囲を選択 コピーします
Range("C2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

On Error Resume Next '---前後にシートが無い場合のエラーを無視
ActiveSheet.Next.Select

'任意のbook と sheet を指定します
Windows("total.xls").Activate
sheet_paste = ActiveSheet.Name
Sheets(sheet_paste).Select
Range("D2").Select

If sheet_copy = sheet_paste Then
ActiveSheet.Paste
ActiveSheet.Next.Select
Else
MsgBox "sheet miss match error!"
'★マクロ強制終了
End If
Next i
End Sub

★部分に何と記述すればよろしいでしょうか?
アドバイスお願い致します。

投稿日時 - 2005-05-30 01:04:27

QNo.1418091

困ってます

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

matchプロシージャが他のプロシージャから呼び出されているのでなければ、"Exit Sub"が良いかと思います。
もし、他のプロシージャから呼び出されているのであれば、"Exit Sub"と書いても呼び出し元のプロシージャの動作は止められませんので、工夫が必要となります。

投稿日時 - 2005-05-30 01:27:54

お礼

Exit Sub で問題解決しました。
アドバイスありがとうございましたm(__)m

投稿日時 - 2005-05-30 01:32:24

あなたにオススメの質問