0 comments
0 trackbacks

前に少しだけやっていたVBAについて覚書です
使うのは下記の2つのどちらかの関数です。

・StrComp 関数
・InStr 関数


どちらかというとStrComp 関数の方が使い勝手が良いと思うのが個人的な感想です

■StrComp 関数
構文:
StrComp(string1, string2[, compare])

string1:
 必ず指定。検索対象の文字列を指定します。
string2:
 必ず指定。検索する文字列を指定します。
compare:
 省略可能です。文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。
引数 compare を省略すると、バイナリ モードで比較。
0:バイナリモード,1:テキストモード

戻り値:
-1:一致なし
0:完全一致
1:文字列が含まれる

例:StrComp("ABCDE","AB")
戻り値は1となります

StrComp("ABCDE","ABCDE")
戻り値は0となります

■InStr 関数
構文:
InStr([start, ]string1, string2[, compare])

string1:
 必ず指定。検索対象の文字列を指定します。
string2:
 必ず指定。検索する文字列を指定します。
compare:
 省略可能です。文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。
引数 compare を省略すると、バイナリ モードで比較。
0:バイナリモード,1:テキストモード

戻り値:
一致あり:文字列が見つかった位置を返します。
一致なし:0

例:
InStr("ABCDE","D")
戻り値は4となります

その他にも値がNULLの場合についてなどもありますが,そこは割愛します
スポンサーサイト
 ↑↑↑↑↑↑よければクリックをお願いします↓↓↓↓↓↓
0 comments
0 trackbacks

最近VBAをやっていたのでちょっと書いてみます。

VLOOKUP関数が便利でした。

●VLOOKUP関数
VLOOKUP関数とは指定した範囲の中から検索条件に一致したデータを検索し、取り出してくれる関数です

・関数の書き方
Application.WorksheetFunction.VLookup( 検索値(1), 範囲(2), 列番号(3)
, 検索方法(4) )


①検索値(1), 範囲(2), 列番号(3)
検索値(1)では検索したい値を入力します。
範囲(2)の範囲内の一列目から検索値(1)の値を探します。列番号(3) で指定した列番号から何列目に取り出したいデータがあるかを指定し、検索値と同じ行の値を返します。

②検索方法(4)
最後の引数【検索方法】について

・省略可です。省略した場合Trueになります
・True
値"1"。部分的に一致するデータを検索します。この場合は、キー情報の列が昇順に並んでいなくてはなりません。
※そのため近くの近似値を検索してしまう場合があります。
・False
値"0"。完全に一致するデータだけを検索します。この場合は、キー情報の列の並び順は問いません。
また、ワイルドカード文字を使ったあいまい検索が行えます。
 ↑↑↑↑↑↑よければクリックをお願いします↓↓↓↓↓↓