対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
「vba is演算子 否定」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。
VBAで、比較演算子のひとつIs演算子の否定は、どのように書けばいいのか探していらした方による検索キーワードです。
[スポンサードリンク]
Is演算子でオブジェクト変数を比較するサンプルマクロ
まず、否定ではない、Is演算子の基本を確認しましょう。
Sub Is演算子でオブジェクト変数が同じか調べる()
Dim sh1 As Worksheet
Set sh1 = Sheets(1)
MsgBox "同じです!"
Else
MsgBox "違うよ。"
End If
End Sub
Dim sh1 As Worksheet
Set sh1 = Sheets(1)
Dim sh2 As Worksheet
Set sh2 = ActiveSheet
MsgBox "同じです!"
Else
MsgBox "違うよ。"
End If
End Sub
上記のSubプロシージャを実行すると、
アクティブシートが、先頭のシートだったときに
「同じです!」
アクティブシートが、先頭のシートでなければ、
「違うよ。」
と表示されます。
このSubプロシージャ内のIfステートメント、
If sh1 Is sh2 Then
の「Is」が基本的なIs演算子の使い方です。
Is演算子とNot演算子でオブジェクト変数を比較するサンプルマクロ
「vba is演算子 否定」
という検索をなさった方が探していらしたのは、以下のようなコードでしょう。
Sub Is演算子でオブジェクト変数が同じか調べる_Not演算子利用()
Dim sh1 As Worksheet
Set sh1 = Sheets(1)
MsgBox "違うよ。"
Else
MsgBox "同じです!"
End If
End Sub
Dim sh1 As Worksheet
Set sh1 = Sheets(1)
Dim sh2 As Worksheet
Set sh2 = ActiveSheet
MsgBox "違うよ。"
Else
MsgBox "同じです!"
End If
End Sub
上記のプロシージャの、
If Not (sh1 Is sh2) Then
が「vba is演算子 否定」に該当する書き方です。
Not演算子を使います。
Not演算子を使う場合、
If Not (sh1 Is sh2) Then
ではなく、
If Not sh1 Is sh2 Then
と書いてもOKですけれど、そもそもの比較演算式をカッコで括っておくほうが、理解しやすいと感じる方が多いと思います。
最終更新日時:2022-08-17 14:48
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAでIsの否定は?-Not演算子