「マクロで使う <> 意味」
「excel vba 不等号 <> 意味」
といった検索でこのサイト・インストラクターのネタ帳へのアクセスが時折あることに気が付きました。
VBAのコードで見かける「<>」という不等号記号の意味を調べている方による検索です。
「<>」の意味を確認するサンプルマクロ
まずは以下のマクロを実行してみましょう。
Dim val As Long
val = ActiveCell.Value
If val <> 100 Then
MsgBox "100ではありません。"
Else
MsgBox "100です!"
End If
アクティブセルに、「100」ではない数値が入力されているときは「100ではありません。」というメッセージが、「100」が入力されているときは「100です!」というメッセージが表示されます。
「<>」は、「○○ではない」ということを調べる演算子です。
「<>」の左と右を比べて、等しくないことを調べる比較演算子です。
上記のマクロの場合、
If val <> 100 Then
で、変数・valと「100」が等しくないことを調べて、等しくなければ、
MsgBox "100ではありません。"
の行が実行され、
そうでなかったとき(即ち変数・valが「100」だったとき)に、
Else
MsgBox "100です!"
の行が実行されます。
算数や数学で使われる「≠」(ノットイコール)を、VBAでは「<>」で表すというルールなのです。
C系のプログラミング言語ならば「!=」がノットイコールですが、VBAでは「<>」なのです。
セル内の数式や条件付き書式で利用する比較演算子と同じです。
.Value <> "" とは
「vba if .value <> ""」
といった検索でも、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
これも、簡単なマクロを動かして確認しましょう。
If ActiveCell.Value <> "" Then
MsgBox "空白ではありません。"
Else
MsgBox "空白です!"
End If
アクティブセルが、空白でなく何らかのデータが入力されていれば「空白ではありません。」というメッセージが、空白のときは「空白です!」というメッセージが表示されます。
「<>」の意味は先に説明したとおり、左と右が等しくないことを調べる比較演算子です。
「<>」の右側「""」は、ダブルクォーテーション・ダブルクォートが2個です。これは、何も入力されていないこと・空っぽであることを表します。
VBAでは文字列を指定するときには「"」ダブルクォートで文字列を括ります。「"」間の文字列がないために、文字列の前の「"」と文字列の後ろの「"」がくっついたダブルクォート2個になった状態が、「<> ""」の「""」です。
セルの数式で空白でなければ・空白でないときという条件を「=IF(A1<>"",...)」などと書きますが、これと同じことです。
最終更新日時:2019-09-03 08:33
Home » エクセルマクロ・Excel VBAの使い方 » VBAで不等号「<>」の意味は?