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

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

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

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

具体的には、

On Error GoTo Errhappen

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

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

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

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

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

その他の記事はこちら↓

[Touchdesigner]1秒に1増加する変数をPythonで書く方法
【Touchdesigner】e-06って?値に英字が入る理由を解説
教育訓練給付金で45万円付与!4ヶ月で未経験からエンジニアを目指せるディープロ(DPro)を解説
【4人に1人が盗み見被害!?】意外と知られていない、公共フリーWiFiの危険性と対策について解説
開発終了した筋電によるジェスチャー操作デバイスMyo armbandをどこまで使えるか検証してみる(2023年)
タイトルとURLをコピーしました