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 |
関連記事
-
-
文字列:指定した文字の文字コードを取得する(Asc 関数)
Asc 関数 【書式】 result = Asc ( string ) 引数・戻 …
-
-
文字に下線を設定する(Underline プロパティ)
下線を設定(Underline プロパティ) Underline プロパティは、 …
-
-
インプットボックスを表示する(InputBox関数・InputBoxメソッド)
「InputBox関数」と「InputBoxメソッド」の違い 「InputBox …
-
-
列挙型変数(Enum ステートメント)
列挙型変数を使う 列挙型変数を使用するには、Enum ステートメントを使って、宣 …
-
-
オブジェクトの書式をクリアする(ClearFormats メソッド)
ClearFormats メソッド 対象となるオブジェクトの書式(スタイル)を初 …
-
-
文字列:文字列の一部を別の文字列で置換(Replace 関数)
Replace 関数の使い方 【書式】 result = Replace ( s …
-
-
画面の更新を停止(ScreenUpdating プロパティ)
画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …
-
-
式を評価し、結果(真・偽)に応じた式・値を返す(IIf 関数)
IIf 関数 の使い方 IIf(アイイフ)関数は、式を評価してその結果(真・偽) …
-
-
四捨五入・切り上げ・切り捨て・丸め(Round 関数 他)
Round 関数(丸め)の使い方 【書式】 value = Round ( ex …
-
-
対象のオブジェクトをクリアする(Clear メソッド)
Clear メソッド 対象となるオブジェクト全体をクリアします。Range オブ …