Len,Midは文字列の長さを求めて文字列の中の文字を取り出すのに便利

エクセルVBAでLenは文字列の長さを測るのに使うマクロです。

例えば

Dim Nagasa As Integer Dim Namae As String Nagasa = Len(Namae)  ’斜体の文字は変数です。

とすればNamaeのなかに格納された文字列の長さを調べます。

そしてその文字列の長さを整数としてNagasaという整数型(Integer型)の変数に入れます。 具体的に見てみましょう。

 

Namae="ぽち" Nagasa=Len(Namae) とすると"ぽち"は2文字ですのでNagasaには2という整数が入ります。

Lenだけですと長さを計るだけですのであまり使い道は無いのですがこれとMidというマクロを組み合わせることで使い道が広がります。

 Midは文字列の中の好きな文字だけを取り出すときに使えます。

 

公式は

文字列型の変数(結果を格納) = Mid(文字列, 何番目の文字を取り出すか, 取り出す文字数)

これを実際のコードに置き換えると以下のようになります。

KensakuChar = Mid(Namae, KBanme, 1) Namae

という変数に入れた文字列のKBanme番目の文字から1文字を取り出しKensakuCharにその文字を格納する、となります。

取り出す文字の数はここでは1文字を指定していますが自由に変えることができます。

 

LenとMidを組み合わせることで好きな文字列の好きな文字を取り出すことができ、私はこれを使って氏名を検索するマクロを作りました。もともとのリストに載っている名前と検索したい名前をそれぞれの変数にいれ、最初から1文字ずつ取り出して比較していくことができます。

コメント