Home » エクセルマクロ・Excel VBAの使い方 » VBAで不等号「<>」の意味は?

対象:Excel2007, Excel2010, Excel2013

「マクロで使う <> 意味」
「excel vba 不等号 <> 意味」
といった検索でこのサイト・インストラクターのネタ帳へのアクセスが時折あることに気が付きました。

VBAのコードで見かける「<>」という不等号記号の意味を調べている方による検索です。

[スポンサードリンク]

「<>」の意味を確認するサンプルマクロ

まずは以下のマクロを実行してみましょう。

Sub ノットイコールの確認_数値()

 Dim val As Long

 val = ActiveCell.Value

 If val <> 100 Then
  MsgBox "100ではありません。"
 Else
  MsgBox "100です!"
 End If

End Sub

アクティブセルに、「100」ではない数値が入力されているときは「100ではありません。」というメッセージが、「100」が入力されているときは「100です!」というメッセージが表示されます。

「<>」は、「○○ではない」ということを調べる演算子です。
「<>」の左と右を比べて、等しくないことを調べる比較演算子です。

上記のマクロの場合、
 If val <> 100 Then
で、変数・valと「100」が等しくないことを調べて、等しくなければ、
  MsgBox "100ではありません。"
の行が実行され、
そうでなかったとき(即ち変数・valが「100」だったとき)に、
 Else
  MsgBox "100です!"
の行が実行されます。

算数や数学で使われる「≠」(ノットイコール)を、VBAでは「<>」で表すというルールなのです。

C系のプログラミング言語ならば「!=」がノットイコールですが、VBAでは「<>」なのです。

セル内の数式や条件付き書式で利用する比較演算子と同じです。

.Value <> "" とは

「vba if .value <> ""」
といった検索でも、このサイト・インストラクターのネタ帳へのアクセスが時折あります。

これも、簡単なマクロを動かして確認しましょう。

Sub ノットイコールの確認_空白()

 If ActiveCell.Value <> "" Then
  MsgBox "空白ではありません。"
 Else
  MsgBox "空白です!"
 End If

End Sub

アクティブセルが、空白でなく何らかのデータが入力されていれば「空白ではありません。」というメッセージが、空白のときは「空白です!」というメッセージが表示されます。

「<>」の意味は先に説明したとおり、左と右が等しくないことを調べる比較演算子です。

「<>」の右側「""」は、ダブルクォーテーション・ダブルクォートが2個です。これは、何も入力されていないこと・空っぽであることを表します。

VBAでは文字列を指定するときには「"」ダブルクォートで文字列を括ります。「"」間の文字列がないために、文字列の前の「"」と文字列の後ろの「"」がくっついたダブルクォート2個になった状態が、「<> ""」の「""」です。

セルの数式で空白でなければ・空白でないときという条件を「=IF(A1<>"",...)」などと書きますが、これと同じことです。

最終更新日時:2019-09-03 08:33

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBAで不等号「<>」の意味は?

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


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

.