文字列:2つの文字列を比較する(StrComp 関数)
StrComp 関数の使い方
【書式】
result = StrComp ( string1, string2, [ compare ] )
引数・戻り値
- string1,string2 ・・・ 任意の文字列・文字列式を指定します。
- compare ・・・ 文字列の比較モード(-1,0,1)を指定します。省略時は、「Option Compare ステートメント」の設定により比較モードが決まります。
値 定数 内容 -1 vbUseCompareOption Option Compare ステートメントの設定を使用して比較 0 vbBinaryCompare バイナリモードの比較 1 vbTextCompare テキストモードの比較(大文字・小文字を同一視) 2 vbDatabaseCompare Microsoft Access の場合のみ有効
- result ・・・ 文字列を比較し結果に応じて(-1,0,1,Null 値)のいずれかを返します。文字の大小関係は基本的には、ASCIIコード・JISコードの大小となります。ただし、テキストモードでは、「大文字・小文字」、「全角・半角」、「かたかな・ひらがな」はいずれも同一とみなされます。
戻り値 内容 -1 string1 は string2 未満 0 string1 と string2 は等しい 1 string1 は string2 を超える Null 値 string1 または string2 が Null 値
StrComp 関数 の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 |
Sub Sample_StrComp() Debug.Print StrComp("abc", "123", 0) 'バイナリモードで比較(1) Debug.Print StrComp("Hello!", "Hi!", 1) 'バイナリモードで比較(-1) Debug.Print StrComp("abc", "ABC", 0) 'バイナリモードで比較(1) Debug.Print StrComp("abc", "ABC", 1) 'テキストモードで比較(0) Debug.Print StrComp("あいうえお", "アイウエオ", 1) 'テキストモードで比較(0) End Sub |
実行結果
関連記事
-
-
VBA の演算子(演算子の優先順位)
演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …
-
-
文字列:指定した文字の文字コードを取得する(Asc 関数)
Asc 関数 【書式】 result = Asc ( string ) 引数・戻 …
-
-
文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)
Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …
-
-
上付き文字・下付き文字(Superscript,Subscript)
上付き文字(Superscript プロパティ) Superscript プロパ …
-
-
VBA の演算子(比較演算子)
比較演算子 比較演算子による演算の結果は「真」の場合は「True」、「偽」の場合 …
-
-
配列(宣言・要素数の変更について)
配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 …
-
-
フォントの設定(Font プロパティ)
フォントの設定(Font プロパティ) 指定されたオブジェクトのフォント情報(F …
-
-
日付時刻:日付・時刻の間隔を取得( DateDiff 関数 )
DateDiff 関数の使い方 【書式】 result = DateDiff ( …
-
-
文字列:文字を指定数並べた文字列を返す(String 関数)
String 関数 【書式】 result = String ( number, …
-
-
引数の整数部分を取得する(Fix 関数・Int 関数)
Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …
Comment
戻り値の意味が分かりません
未満ってなんですか
超えるってなんですか
含有とは違うのですか
文字の大小関係は、文字コードでの大小となります。
たとえば「c」と「a」を比べると以下のようになります。
result = StrComp(“c”, “a”)
この時、ASCII コードで、”c” は、99 、”a” は 97 となります
つまり、”c” > “a” となるので、result は、1 となります。