Home » ExcelVBA Rangeオブジェクト » #DIV/0!エラーかをVBAで判定する

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2004 ビルド12730.20270 Microsoft Store)

「マクロ エラー #DIV/0! 検出」
といった検索キーワードでアクセスがありました。

Excel VBAで、#DIV/0!エラー(0除算エラー)かどうかを判定するには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。

「vba if 文字列 含む div0」
と検索なさった方も、同じことを求めていらしたように思えます。

[スポンサードリンク]

#DIV/0!エラーかを判定するサンプル

以下のSubプロシージャが参考になるでしょう。

Sub アクティブセルが0除算エラーかを判定する()
 Dim var As Variant
 var = ActiveCell.Value

 If IsError(var) Then
  If var = CVErr(xlErrDiv0) Then
   MsgBox "#DIV/0!エラーです。"
  Else
   MsgBox "#DIV/0!エラーではない、別のエラーです。"
  End If
 Else
  MsgBox "エラーではありません。"
 End If
End Sub

#DIV/0!エラーの発生しているセルがアクティブな状態で実行すると、
  「#DIV/0!エラーです。」
#DIV/0!エラーではない、#N/Aエラーなどが発生していれば、
  「#DIV/0!エラーではない、別のエラーです。」
アクティブセルがエラーでなければ、
  「エラーではありません。」
とメッセージが表示されます。

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

まず、セルにエラーが発生しているかどうか、VBAのIsError関数で調べてから、
  If IsError(var) Then

セルの値と、CVErr関数の引数に、

XlCVError列挙に定義されている定数xlErrDiv0を指定したときの戻り値と比較して、
   If var = CVErr(xlErrDiv0) Then
    MsgBox "#DIV/0!エラーです。"

#DIV/0!エラーかを判定しています。

最終更新日時:2020-06-11 23:05

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » #DIV/0!エラーかをVBAで判定する

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

検索


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

.