|
おはようございます。
>WorksheetFunction.Match
>と
>Application.Match
>
>では、
>マッチする値がない時の時の戻り値が違うようなことをどこかで見ました。
>
>WorksheetFunction.Matchの時は、実行時エラーになるので、
>on error・・・・が必要
>
>Application.Matchの時は、エラー値を返すので、
>iserror()で処理できる。
私もこの質問箱で学んだ事です。
それ以前は、Worksheetfunctionを付加してOn errorとしていました。
どっちでもよいんですが
(実際にはVBEの設定によってOn Error〜を指定しても
エラーを発生させる設定もありますからOnError以外の方法のほうが
望ましいかもしれませんが)
コードがすっきりするので、Application.Matchを使用するように
なりました。
http://support.microsoft.com/default.aspx?scid=KB;JA;408877#XSLTH3125121122120121120120
本家情報に↑とあるようにワークシート関数が
WorksheetfunctionというクラスのメンバになったのはExcel97からみたいなので
Application.Matchという記述は、それ以前のバージョンとの互換性を保つために
残っているように思われます。
普通は、新しく追加された機能のほうが洗練されていて都合のよい事が
殆どなんですけどね!!
Excelでは、そうでもないなあ・・という事がこれまでにもいくつか
ありました。
|
|