有村日記

日常感じたこと、気がついたこと、思ったことを記録

VBAでMATCH関数・DATE関数を使う

2024-05-31 04:39:37 | EXCEL
目的:日付列の中で、ある日(例えば今日)は何行目にあるかを求める。

ワークシートの中では以下のように式を設定する。
=MATCH(TODAY(),A:A,0)

VBAでMATCH関数・DATE関数を使うときの留意事項を記す。
WORKSHEETFUNCTION.MATCH(DATE,RANGE("A:A"),0)では
「実行時エラー'1004' 
WorksheetFunction クラスのMatchプロパティを取得できません。」とエラーになる。

Date関数をCLng関数で処理する必要があるので注意が必要。
WorksheetFunction.Match(CLng(Date), Range("A:A"), 0)