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

解決済みの質問

エクセルのエラートラップについて

エクセルのVBAについて質問です。
以下のように組み込みDATAシートからフィルターをかけて抽出シートへ結果を表示するようになっていますが、DATAシートにデーターがない状態でするとエラーになります.
そこで以前エラートラップの方法を教えて頂きました。
オフィス2007では正常に動作します。
試しにオフィス2000で実行するとDATAシートにデーターがあるなしに関わらずDATAシートにデーターがないと処理してしまうのですがエクセル2000では無理なのでしょうか?
また回避方法があれば教えて頂きたいのですが、まだまだ勉強中の身ですので教えて頂ければ有難いです。
お手数ですが宜しくお願いします。

Sub 抽出()
Application.ScreenUpdating = False
Sheets("抽出").Activate
Cells.Clear
Sheets("抽出").Range("A1").Value = Sheets("DATA").Range("A2").Value
Sheets("抽出").Range("B1").Value = Sheets("DATA").Range("B2").Value
Sheets("抽出").Range("C1").Value = Sheets("DATA").Range("C2").Value
Sheets("抽出").Range("D1").Value = Sheets("DATA").Range("D2").Value

On Error GoTo MSG
Sheets("DATA").Range("A3").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("検索").Range("A1:D2"), _
CopyToRange:=Sheets("抽出").Range("A1"), _
Unique:=False
Sheets("抽出").Columns("A:D").AutoFit
Application.ScreenUpdating = True
Exit Sub

MSG:
MsgBox "DATAシートにデーターがない", vbCritical
Application.ScreenUpdating = True
End Sub

投稿日時 - 2008-07-14 13:19:22

QNo.4175704

すぐに回答ほしいです

質問者が選んだベストアンサー

質問者の路線に乗って答えてよいのか不安アリ(注)ですがVBAでエラー関係のステートメント等は
On Error GoTo lime
On Error Resume Mext
On Error GoTo 0
Err
Error
関数では
Err
Erl
Error
です
WEBで「VBA Erl」など照会してみてください。
ーーー
(注)オフィス2007では正常に動作します。
が不思議。
>エクセル2000では無理なのでしょうか?
もっと前97などから、On Error GoTo などはあった。

投稿日時 - 2008-07-14 14:33:59

ANo.2

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

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

回答(2)

ANo.1

2000と2007との違いは判りませんが、On Error Gotoが有効になっていると、他の要因でのエラーが発生しても、「MSG」へ飛んでしまいます。
 取りあえず、データがある状態、なおかつエラー処理を無効にし、確認してみましょう。
 違うエラーが出ている可能性もあります。

投稿日時 - 2008-07-14 14:12:41

お礼

ありがとうございます。
他の要因のエラーで飛んでいました。

投稿日時 - 2008-07-17 11:44:07

あなたにオススメの質問