Home » Excel VBA Rangeオブジェクト » #VALUE!エラーかどうかをVBAで判定する

#VALUE!エラーかどうかをVBAで判定する

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2510(ビルド19328.20190クイック実行)

「vba #value 判定」
といった検索でアクセスがありました。
Excel VBAで、#VALUE!エラーかどうかを判定するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。

[スポンサードリンク]

#VALUE!エラーかどうかを判定するサンプルマクロ

以下のExcelマクロを参考にしてください。

Sub アクティブセルがVALUEエラーかを判定する()

 Dim var As Variant
 var = ActiveCell.Value

 If IsError(var) Then

  If var = CVErr(xlErrValue) Then
   MsgBox "#VALUE!エラーです。"
  Else
   MsgBox "#VALUE!エラーではない、別のエラーです。"
  End If

 Else
  MsgBox "エラーではありません。"
 End If

End Sub

サンプルマクロで行っている処理

アクティブセルの値を、変数varに代入しておいて、

 var = ActiveCell.Value

VBAのIsError関数で、変数varがエラー値だったときに、具体的にどんなエラーかを確認する処理に入ります。

 If IsError(var) Then

変数varの値が、VBAのCVErr関数で定数xlErrValueを変換した値と同じだったときに、#VALUE!エラーと判定しています。

  If var = CVErr(xlErrValue) Then
   MsgBox "#VALUE!エラーです。"

アクティブセルがエラー値でなかったときにいきなりこの処理に入ると実行時エラーになるため、事前にVBA.IsError関数でエラー値かどうかの判定を行っています。

 If IsError(var) Then

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » #VALUE!エラーかどうかをVBAで判定する

「Excel VBA Rangeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.