動作検証バージョン: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
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
[スポンサードリンク]
- Newer:VBAでタイトルスライドを先頭に追加する
- Older:LibreOffice Calcでマイナスの数値に△を
Home » Excel VBA Rangeオブジェクト » #DIV/0!エラーかをVBAで判定する