#173 | 文字列の大文字・小文字を区別して比較するには? | VBA | |
まず、次のコードを実行してみましょう。 Dim strA As String
Dim strB As String strA = "ABCDEFG" strB = "abcdefg" If strA = strB Then MsgBox "2つの変数は同じです!" Else MsgBox "2つの変数は異なります!" End If 実行結果は右図のようになります。 上記のコードでは、変数strAとstrBはそれぞれ大文字・小文字となっていますが、IF文では同じものと判断されてしまいます。もちろん、大文字・小文字を区別する必要がない場合にはこれで良いのですが、区別して比較しなければいけないような場合には、コードに多少の工夫が必要となってきます。 それには「StrComp」関数を使います。StrComp関数では、比較する文字列2つに続いて、3つ目の引数に定数「vbBinaryCompare」を指定します。これによって2つの文字列はバイナリとして比較されますので、"ABCDEFG"と"abcdefg"は別物と判断されます。 Dim strA As String
Dim strB As String strA = "ABCDEFG" strB = "abcdefg" If StrComp(strA, strB, vbBinaryCompare) = 0 Then MsgBox "2つの変数は同じです!" Else MsgBox "2つの変数は異なります!" End If 今度の実行結果は右図のようになります。 ※StrComp関数は、2つの文字列が同じである場合にはゼロを返します。しかし、同じかどうかの比較だけでなく、両者の大小の比較も行わせることができます。その場合の返り値は次のとおりです。
|
|||
|
Copyright © T'sWare All rights reserved |