« 指先でズーム (表示画面の大きさを変えるマクロ) | トップページ | 【再改良】クイックソートを用いてアルファベットの文字列を並び替え »

2010年1月17日 (日)

2つの文字列を比較する関数 StrComp()

以前クイックソートを学んだときに、文字を比較する方法で悩みました。

今回紹介するのは、その悩みを一発解消する関数です。

StrComp()です。

通常の文字列の比較では、「ABCD」(半角)と「abcd」(半角)と
「ABCD」(全角)と「abcd」(全角)とはすべて別々の文字列として扱われます。

つまり、全角・半角の区別と大文字・小文字の区別がなされるんですね。

また「アイウエオ」と「あいうえお」も別の文字列ですね。

この区別を「バイナリモード」の比較と呼びます。

しかし、これらを同じものとして比較する方法があるんです。

それが「テキストモード」の比較です。

これらの比較モードを設定して、その結果を値として表示するのが

StrComp()という関数。使えます。

以下、メモみたいなもので、完成したプログラムじゃないですが。

▼プログラムの一部

Dim MyStr1, MyStr2, MyComp

MyStr1 = "ABCD": MyStr2 = "abcd"            ' 変数を定義します。

MyComp = StrComp(MyStr1, MyStr2, vbTextCompare)        ' 0 (等しい)を返します。

MyComp = StrComp(MyStr1, MyStr2, vbBinaryCompare)        ' -1MyStr1MyStr2未満。)を返します。

MyComp = StrComp(MyStr2, MyStr1, vbBinaryCompare)       ' 1 を返します。

▼参考文献

かんたんプログラミング Excel2003 VBA コントロール・関数編
P235~P237 (5-4 文字列を比較する)

|

« 指先でズーム (表示画面の大きさを変えるマクロ) | トップページ | 【再改良】クイックソートを用いてアルファベットの文字列を並び替え »

マクロプログラム」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/519619/47317109

この記事へのトラックバック一覧です: 2つの文字列を比較する関数 StrComp():

« 指先でズーム (表示画面の大きさを変えるマクロ) | トップページ | 【再改良】クイックソートを用いてアルファベットの文字列を並び替え »