「vba isnothing 使えない」
という検索キーワードでアクセスがあることに気が付きました。
単なるタイプミスの可能性もありますが、
「excel vba isnothing」
といった検索キーワードでのアクセスも時折あります。
VBAにIsNothingはありません
詳細は不明ですが、
Dim obj As Object
' 変数objに格納を行う処理
If IsNothing(obj) Then
' 何らかの処理
End If
といったコードをVBAで実行しようとしたら、
「コンパイル エラー:Sub または Function が定義されていません。」
というエラーが発生したのでしょう。
VBA(Visual Basic for Applications)には、IsNothingといった名前の関数などは存在しません。
VB.NET(Visual Basic.NET)なら、IsNothingメソッドがありますけれど。
VBAとVB.NETはかなり違う
特にVB.NETを先に学習してからVBAを始めた方の中に、VBAとVB.NETの、構文・関数・データの扱い等について混乱している方が、少なからずいらっしゃるようです。
同じ「VB」という語句が含まれてはいますが、VBAとVB.NETはかなり違います(厄介なことに似ている部分もあります)。
VBAでNothing判定はIs Nothing
VBAでNothingの判定を行うには、比較演算子のIsを使って
Dim obj As Object
' 変数objに格納を行う処理
If obj Is Nothing Then
' 何らかの処理
End If
といった書き方をします。
VB.NETプログラマーのためのVBA入門
VB.NETに慣れていて、VBAを始めたという方は、以下のような本をざっと読んでおくと違いがわかっていいのではないでしょうか。
本来は、VBAと基本的には同じVB6(Visual Basic 6)からVB.NETに移行するプログラマー向けの本ですけれど、VB.NETプログラマーがVBAを使う際に注意すべき箇所がまとまった本として読むこともできます。
最終更新日時:2019-01-17 22:44
Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAでIsNothingが使えない?