動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン1911 ビルド12228.20331 Microsoft Store)
「vba エラーでなければ 条件文」
という検索キーワードでアクセスがありました。
いくつかの可能性の考える検索キーワードですが、Excel VBAで、
「セルの値がエラーでなければ」
という条件を、Excel VBAでどう書けばいいのか調べていたのかな、と想像しています。
[スポンサードリンク]
セルの値がエラーかを判定する
「セルの値がエラーでなければ」
という条件の前に、
「セルの値がエラーならば」
のを理解しましょう。
Sub セルの値がエラーかを判定する()
If IsError(ActiveCell.Value) Then
MsgBox "アクティブセルは、エラーです!!"
Else
MsgBox "アクティブセルは、エラーではありません。"
End If
End Sub
If IsError(ActiveCell.Value) Then
MsgBox "アクティブセルは、エラーです!!"
Else
MsgBox "アクティブセルは、エラーではありません。"
End If
End Sub
上記のようなSubプロシージャで、アクティブセルの値がエラーかどうかを判定できます。
VBAのIsError関数を使えばOKということです。
もしも、
If IsError(ActiveCell.Value) Then
の部分がピンと来なければ、
If IsError(ActiveCell.Value) = True Then
という冗長な書き方で、まずは理解しましょう。
セルの値がエラーでないかを判定する
で、本題の
「セルの値がエラーでなければ」
は以下のとおりです。
Sub セルの値がエラーでないかを判定する()
If Not IsError(ActiveCell.Value) Then
MsgBox "アクティブセルは、エラーではありません。"
Else
MsgBox "アクティブセルは、エラーです!!"
End If
End Sub
If Not IsError(ActiveCell.Value) Then
MsgBox "アクティブセルは、エラーではありません。"
Else
MsgBox "アクティブセルは、エラーです!!"
End If
End Sub
先ほどのIsError関数を使った論理式をNot演算子で反転すれば、
If Not IsError(ActiveCell.Value) Then
「エラーでなければ」という条件になります。
最終更新日時:2019-12-11 10:50
[スポンサードリンク]
- Newer:ParagraphFormat2.BaseLineAlignmentに指定できるMsoBaselineAlignment列挙型に定義されている定数一覧
- Older:BaseLineAlignmentプロパティに指定できるWdBaselineAlignment列挙型に定義されている定数一覧
Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » セルの値がエラーでないかをVBAで判定する-Not演算子・IsError関数