【ExcelVBA】Match関数で「実行時エラー ‘1004’ WorksheetFunctionクラスのMatchプロパティを取得できません。」と出る時の対処法

はいどーも、まるです。
今日は滅多にしない、VBAの話題。

便利なMatch関数ですが、
見つからない時は返り値がEmptyになっており、エラーを吐いて止まってしまいます。

なのでその条件分岐を追加してあげることでエラー検出を行います。

具体的には、

On Error GoTo Errhappen
Code language: JavaScript (javascript)

をエラーが起きる処理の前に入れてあげて(On Error文についてはこちらを参照)、

Errhappen:  Select Case Err.Number   Case 1004    MsgBox "『" & KEY & "』はが見つかりませんでした。"   Case Else    MsgBox "予期せぬエラーが発生しました。"  End Select  Err.Clear End Sub
Code language: PHP (php)

とすることでエラーをキャッチできるようになります。

While文などのループこの処理を噛ませることで、エラーが起きた場合も中断されずに、
続けることが出来ます。

上述の例ではエラーメッセージが出るようにしていますが、勿論Skipしたりやり直したりlog.txtに出力させるなどしても良いでしょう。

その他の記事はこちら↓

【4人に1人が盗み見被害!?】意外と知られていない、公共フリーWiFiの危険性と対策について解説
開発終了した筋電によるジェスチャー操作デバイスMyo armbandをどこまで使えるか検証してみる(2023年)
リクルートの個人事業主用Airカードを解約(退会)する方法
【最大193万の給付金付き】30代女性未経験からのWeb転職はインターネットアカデミーのMamaeduが最強である理由を解説!気になる評判も
意外と簡単!総務省の「技適未取得機器を用いた実験等の特例制度」の廃止届の提出方法
タイトルとURLをコピーしました