【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に出力させるなどしても良いでしょう。

その他の記事はこちら↓

オンラインでのSAISONカードの解約方法のご案内【電話で完結】
【いまさら聞けない】MAって何?なぜ注目を集めているのかについて解説【営業担当者必見】
【Raspberry pi】容量の小さいmicroSDに使用領域のみコピーする方法(Windows)
【2021年最新版】プログラミング言語を比較・人気4選を紹介
【Fintech】使える補助金/助成金が一目でわかる!?【補助金APIの紹介】
タイトルとURLをコピーしました