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 |
関連記事
-
-
ユーザー定義定数(Const ステートメント)
定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …
-
-
変数のデータ型・宣言(Dim ステートメント)
変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …
-
-
日付時刻:日付時刻から情報取得( DatePart 関数 )
DatePart 関数(日付・時刻の値から情報を取得) 【書式】 result …
-
-
変数が数値型かどうかをチェックする( IsNumeric 関数 )
IsNumeric 関数の使い方 【書式】 result = IsNumeric …
-
-
フォント名(Name,ThemeFont,StandardFont)
フォント名を取得・設定する(Name プロパティ) Name プロパティは、オブ …
-
-
フォントの設定(Font プロパティ)
フォントの設定(Font プロパティ) 指定されたオブジェクトのフォント情報(F …
-
-
文字列:文字列の一部を別の文字列で置換(Replace 関数)
Replace 関数の使い方 【書式】 result = Replace ( s …
-
-
式の値に応じて多分岐を行う(Switch 関数)
Switch 関数 の使い方 Switch 関数は、「式・値」を対にして指定して …
-
-
データ型を調べてそのデータ型を示す文字列を返す(TypeName 関数)
TypeName 関数 の使い方 TypeName 関数は、引数に、データ型を調 …
-
-
Math 関数( Abs,Atn,Cos,Exp,Log,Rnd,Sgn,Sin,Sqr,Tan )
Abs 関数 【書式】 value = Abs ( number ) 【引数・戻 …