【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ステップ】 
STEAM教育とは?特徴と国内外の取り組み事例・実践方法を解説
Anaconda3で「’git’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と出るときの対処法
【OAK-D Lite入門】DepthAIをインストールしてみよう
【初心者向け】WindowsにGitをインストールする方法(10/11対応)
タイトルとURLをコピーしました