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

その他の記事はこちら↓

世界初!?はんだ用卓上リフロー炉で「リフローたこ焼き」は調理できるのか
【エンジニアのキャリアを伸ばす】tech boostの持つ、2つのコースとは?特徴やメリットを解説!【未経験からフリーランスになろう】
【ネタバレ】2024年しろたん新春福袋を購入したので中身を紹介します!【限定品は?総額いくら?】
[Touchdesigner]CHOPの波形グラフをオーバーレイ(重ねて表示)する方法
Yt-dlpにてHTTP Error 403: Forbiddenエラーが出る時の対処法【2023年】
タイトルとURLをコピーしました