Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAでIsの否定は?-Not演算子

VBAでIsの否定は?-Not演算子

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「vba is演算子 否定」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。

VBAで、比較演算子のひとつIs演算子の否定は、どのように書けばいいのか探していらした方による検索キーワードです。

[スポンサードリンク]

Is演算子でオブジェクト変数を比較するサンプルマクロ

まず、否定ではない、Is演算子の基本を確認しましょう。

Sub Is演算子でオブジェクト変数が同じか調べる()
 Dim sh1 As Worksheet
 Set sh1 = Sheets(1)

 Dim sh2 As Worksheet
 Set sh2 = ActiveSheet

 If sh1 Is sh2 Then
  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)

 Dim sh2 As Worksheet
 Set sh2 = ActiveSheet

 If Not (sh1 Is sh2) Then
  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演算子

「条件分岐」の記事一覧

検索


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

.