CVErr関数とは?使い方と注意点

Excel VBAには、様々な関数が用意されています。
その中でも、エラー処理に関する関数のひとつにCVErr関数があります。CVErr関数は、エラー値を作成するための関数で、数式や関数の計算結果などでエラーが発生した場合に、エラー値を返すことができます。

CVErr関数の使い方

CVErr関数の基本的な使い方は、以下の通りです。

引数には、ErrorNumberというエラーの種類を表す定数を指定します。以下に、よく使用される定数をいくつか紹介します。

定数名説明
xlErrDiv020070での除算が発生した場合に使用する定数
xlErrNA2042引数が見つからない場合に使用する定数
xlErrName2029関数または式の名前が無効な場合に使用する定数
xlErrNull2000引数がNULLの場合に使用する定数
xlErrNum2036引数が無効な数値の場合に使用する定数
xlErrRef2023参照が無効な場合に使用する定数
xlErrValue2015引数が無効な型である場合に使用する定数

例えば、式 “=1/0” によって #DIV/0! エラーが発生した場合、以下のようにCVErr関数を使用することで、同様のエラー値を作成することができます。

注意点

CVErr関数を使用する際には、以下の注意点について把握しておく必要があります。

・ CVErr関数で作成したエラー値を参照する場合には、エラー値の比較に “Is” 演算子を使用する必要があります。 “=” 演算子を使用した場合には、比較対象の数値として解釈され、誤った判定結果となる可能性があります。

・ CVErr関数で作成したエラー値は、エラー処理ルーチンでの利用が主な用途となります。通常の計算処理で使用することはほとんどありません。

まとめ

Excel VBAのCVErr関数は、エラー値を作成するための関数であり、数式や関数の計算結果などでエラーが発生した場合に、エラー値を返すことができます。引数には、エラーの種類を表す定数を指定し、エラー処理ルーチンでの利用が主な用途となります。使用する際には、注意点を把握して、正しく使いこなしていきましょう。

サンプルコード

列Bにある数式の結果を列Cに表示し、エラーが発生した場合には “エラーが発生しました” と表示する例です。

特定の範囲内に含まれる値を合計する例です。エラーが発生した場合には、0を返します。

特定の値を含むセルを、別の値に置換する例です。エラーが発生した場合には、元の値をそのまま残します。

コメント