【7】VBAの演算子「比較演算子」について

記事で紹介しているエクセル
・エクセル2019 [64ビット版]

目次

「比較演算子(ひかくえんざんし)」とは?

前回は「算術演算子」について解説しました。

今回は同じく演算子の「比較演算子」について解説したします。

比較演算子とは、データの値と値を比較する際に使います。

簡単に言えば、比較して「等しい」「等しくない」「より大きい」「以上」「より小さい(未満)」「以下」です。

念の為、算数の比較のおさらいですが、「より大きい」と「以上」、「より小さい(未満)」「以下」の違いは以下の通りです。

  • 10 より大きい ・・・ 「11、12、13…」と10を含まない大きい数字
  • 10 以上 ・・・ 「10、11、12、13…」と10を含む大きい数字
  • 10 より小さい ・・・ 「9、8、7…」と10を含まない小さい数字
  • 10 以下 ・・・ 「10、9、8、77…」と10を含む小さい数字

今回もソースコードを使って解説します。

Sub test6()
    
    'Boolean型による変数宣言
    Dim Answer1 As Boolean
    Dim Answer2 As Boolean
    Dim Answer3 As Boolean
    Dim Answer4 As Boolean
    Dim Answer5 As Boolean
    Dim Answer6 As Boolean
    
    Dim A As Integer
    Dim B As Integer
    
    A = 5
    B = 10
    
    Answer1 = (A = B) '等しい
    Answer2 = (A <> B) '等しくない
    Answer3 = (A > B) 'より大きい
    Answer4 = (A >= B) '以上
    Answer5 = (A < B) 'より小さい
    Answer6 = (A <= B) '以下

    MsgBox (Answer1) 'False
    MsgBox (Answer2) 'True
    MsgBox (Answer3) 'False
    MsgBox (Answer4) 'False
    MsgBox (Answer5) 'True
    MsgBox (Answer6) 'True
    
End Sub

Boolean型について

まずは新しい変数の型について解説します。

変数宣言で「As Boolean」というBoolean型(ブール型)が出てきました。

    'Boolean型による変数宣言
    Dim Answer1 As Boolean
    Dim Answer2 As Boolean
    Dim Answer3 As Boolean
    Dim Answer4 As Boolean
    Dim Answer5 As Boolean
    Dim Answer6 As Boolean

これは「真」である「True」(トゥルー)、もしくは「偽」である「False」(フォルス)の2つしか代入できない型です。

ちなみに、例えばString型で変数に代入する文字列「”True”」や「”False”」とは全く異なります。

プログラムの世界では、合っているか違っているかを表す概念「真偽」というものがあります。

合っていれば「True」(真)、違っていれば「False」(偽)と、まずは覚えて下さい。

比較演算子で値を比較をする上で、それが合っている(Ture)か、違っている(False)かをプログラムが判定します。

データの値と値を比較する

次にデータを変数Aと変数Bに代入しています。

変数Aには「5」、変数Bには「10」が代入されます。

    Dim A As Integer
    Dim B As Integer
    
    A = 5
    B = 10

比較演算子は全部で8つあります。

その内、今回は基本となる6つの比較演算子について解説します。

比較演算子「=」:等しい

    Answer1 = (A = B) '等しい

まず最初の比較演算子は「=」イコールです。

値が等しいかチェックします。

変数A「5」と変数B「10」は等しいでしょうか?

等しくありませんね。

よって変数Answer1は「False」になります。

比較演算子「<>」:等しくない

    Answer2 = (A <> B) '等しくない

比較演算子「<>」小なり大なりは、値が等しくないかチェックします。

変数A「5」と変数B「10」は、先程解説した通り等しくありません。

したがって、等しくないか?と言われれば等しくないので正解、真(True)という事になります。

よって変数Answer2は「True」になります。

比較演算子「>」:より大きい

    Answer3 = (A > B) 'より大きい

比較演算子「>」大なりは、左の値(変数A)が右の値(変数B)より大きいかチェックします。

変数A「5」と変数B「10」であり、右の値のほうが、左の値より大きいです。

したがって偽(False)になりますので、変数Answer3は「False」になります。

比較演算子「>=」:以上

    Answer4 = (A >= B) '以上

比較演算子「>=」大なりイコールは、左の値(変数A)が右の値(変数B)以上かチェックします。

変数A「5」と変数B「10」であり、これも以上ではありませんので偽(False)です。

よって変数Answer4は「False」になります。

比較演算子「<」:より小さい

    Answer5 = (A < B) 'より小さい

比較演算子「<」小なりは、左の値(変数A)が右の値(変数B)より小さいかチェックします。

変数A「5」と変数B「10」であり、変数Aの方が変数Bよりも小さいため、真(True)になります。

よって変数Answer5は「True」になります。

比較演算子「<=」:以下

    Answer6 = (A <= B) '以下

最後の比較演算子「<=」小なりイコールは、左の値(変数A)が右の値(変数B)以下かチェックします。

変数A「5」と変数B「10」であり、変数Aは変数B以下のため、真(True)になります。

よって変数Answer6は「True」になります。

データの比較はプログラムの基本

プログラミングにおけるデータ比較は基本中の基本です。

プログラムとは、そのようなデータ比較をする事で、処理を分岐して実行していきます。

今回はVBAで8つある比較演算子の中でも基本となる6つを紹介しましたが、プログラムへの理解度が上がるにつれて、その他の演算子についても解説していきます。

<補足情報>「条件式」と「比較演算子」の種類

「条件式」について

今回学んだことで重要な要素があります。

それは「条件式」です。

条件式とは、プログラミングで用いられる条件指定のための論理式です。

難しく聞こえますが、要するに「(A = B)」が条件式なのです。

数値の大小、文字列の一致・不一致を判断する演算子で構成される式です。

プログラムを分岐する際には、分岐のために必ず条件があります。

その条件が書いてあるのが「条件式」というわけです。

「比較演算子」の種類について

演算子読み方説明使用例結果
=イコール等しい5 = 10False
<>小なり大なり等しくない5 <> 10True
>大なりより大きい5 > 10False
>=大なりイコール以上5 >= 10False
<小なりより小さい5 < 10True
<=小なりイコール以下5 <= 10True
Likeライク(右の値)で指定したパターンを(左の値)が持つA Like B
Isイズ(右と左の値が)同じオブジェクトを参照しているA Is B
「比較演算子」の種類
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次