VBA の演算子(比較演算子)
比較演算子
比較演算子による演算の結果は「真」の場合は「True」、「偽」の場合は「False」を返します。
値 を比較するには、「 < 、<= 、> 、>= 、= 、<> 」の 6 種類の演算子を使用します。
オブジェクト を比較するには、「Is 演算子」を使用します。
文字列 を比較するには、「Like 演算子 、<> 、= 」の3種類の演算子を使用します。
比較演算子の使い方(値の比較)
result = expression1 < expression2
result = expression1 <= expression2
result = expression1 > expression2
result = expression1 >= expression2
result = expression1 = expression2
result = expression1 <> expression2
項目の説明
- expression ・・・ 任意の数値・数式を指定します
- result ・・・ 任意の数値変数を指定します。
expression1、expression2 のいずれかが Null 値に評価される式のときは、演算結果 result も Null 値となります。
比較演算子の使い方(Is 演算子)
result = object1 Is object2
項目の説明
- object1,object2 ・・・ 任意のオブジェクトへの参照を指定します
- result ・・・ 任意の数値変数を指定します
object1 と object2 に指定した変数が、同じオブジェクトを参照している場合、result は真(True)になります。異なるオブジェクトを参照している場合、result は偽(False)になります。
一方または両方の式が Null 値のとき、result は Null 値になります。
Range オブジェクトの比較には機能しません。
比較演算子の使い方(文字列の比較)
result = string1 = string2
result = string1 <> string2
result = string Like pattern
項目の説明
- string,string1,string2 ・・・ 任意の文字列
- pattern ・・・ 任意の文字列(ワイルドカードを含む)を指定します。
- result ・・・ 任意の数値変数を指定します。
Empty 値 を持つ式は、長さ0の文字列(””) として扱われます。
使用できるワイルドカード一覧
| 演算子 | 意味 | 
| * | 任意の文字列 | 
| ? | 任意の1文字 | 
| # | 任意の1文字(数値:0-9) | 
| [charlist] | charlist 中の1文字 | 
| [!charlist] | charlist 中の文字以外の1文字 | 
| [a-z] | 範囲指定(アルファベット a から z までの一文字) | 
VBA 比較演算子の使用例
サンプルVBAソース
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | Sub Sample_Compare_Operator()     '比較演算子     Dim a, b     a = 10: b = 8     Debug.Print a < b               'False     Debug.Print a <= b              'False     Debug.Print a > b               'True     Debug.Print a >= b              'True     Debug.Print a = b               'False     Debug.Print a <> b              'True     'Is 演算子     Dim Object1 As Object, Object2 As Object, object3 As Object     Set Object1 = ActiveWorkbook.Worksheets(1)     Set Object2 = ActiveWorkbook.Worksheets(2)     Set object3 = Object1     Debug.Print Object1 Is Object2      'False     Debug.Print Object1 Is object3      'True     '文字列比較     Dim tmp1Str As String     Dim tmp2Str As String     Dim tmpVar     tmp1Str = "あいうえお"     tmp2Str = "かきくけこ"     Debug.Print tmp1Str = tmp2Str       'False     Debug.Print tmp1Str <> tmp2Str      'True     Debug.Print tmp1Str = tmpVar        'False     'Like 演算子     Dim tmpstr1 As String, tmpstr2 As String, tmpstr3 As String     tmpstr1 = "0e": tmpstr2 = "ABCDEFG": tmpstr3 = "#A0abcdefg"     Debug.Print tmpstr1 Like "??"           'True     Debug.Print tmpstr1 Like "[a-z]*"       'False     Debug.Print tmpstr1 Like "[0-9][a-z]"   'True     Debug.Print tmpstr2 Like "a*"           'False     Debug.Print tmpstr2 Like "A*"           'True     Debug.Print tmpstr3 Like "?[A-Z][0-9]*" 'True End Sub | 
関連記事
-  
              
- 
      色の設定(Color プロパティ・RGB 関数)Color プロパティ Color プロパティは、指定したオブジェクトの色を取得 … 
-  
              
- 
      ショートカットメニュー(CommandBar オブジェクト)ショートカットメニュー(コンテキストメニュー) 右クリックで表示されるメニューの … 
-  
              
- 
      指定した数値を文字列に変換する(Str 関数)Str 関数 の使い方 Str 関数は、数値・数式を文字列に変換して返す関数です … 
-  
              
- 
      インプットボックスを表示する(InputBox関数・InputBoxメソッド)「InputBox関数」と「InputBoxメソッド」の違い 「InputBox … 
-  
              
- 
      データ型を調べてそのデータ型を示す文字列を返す(TypeName 関数)TypeName 関数 の使い方 TypeName 関数は、引数に、データ型を調 … 
-  
              
- 
      連想配列(Dictionary オブジェクト)連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V … 
-  
              
- 
      四捨五入・切り上げ・切り捨て・丸め(Round 関数 他)Round 関数(丸め)の使い方 【書式】 value = Round ( ex … 
-  
              
- 
      列挙型変数(Enum ステートメント)列挙型変数を使う 列挙型変数を使用するには、Enum ステートメントを使って、宣 … 
-  
              
- 
      文字列:指定した文字の文字コードを取得する(Asc 関数)Asc 関数 【書式】 result = Asc ( string ) 引数・戻 … 
-  
              
- 
      文字列:2つの文字列を比較する(StrComp 関数)StrComp 関数の使い方 【書式】 result = StrComp ( s … 
 
        