文字列操作関連のLen関数、LenB関数は文字列の文字数を返す関数です。
文字列加工のVBAのコード作成時には、多頻度で必要になる関数です。
こんにちは、じゅんぱ店長(@junpa33)です。
今回は、文字列操作に必須のVBA関数の「Len関数」「LenB関数」の使い方についてです。
テキストデータの一部を取り出して別データとして利用したい場合などに必要になります。
コンテンツ
Len関数で文字列の文字数を知る方法
Len関数の構文
Len(文字列式または変数)
Len関数は文字列の文字数を調べる(返す)関数ですので、基本、調べる対象のデータ型は文字列型(String型)になります。
変数がVariant型の場合は、その変数を文字列型として処理します。
Len関数の使用例
①例えば文字列式「東京都新宿区」を考えます。
Len(”東京都新宿区”)という記述になります。
Option Explicit
Sub Len関数test1()
MsgBox Len("東京都新宿区")
End Sub
メッセージボックスで(文字数)6を返します。
②文字列式として「13579」を考えます。
Len(”135791”)という記述になります。
Sub Len関数test2()
MsgBox Len("135791")
End Sub
メッセージボックスで(文字数)6を返します。
③数値として135791を考えます。
Lenの構文に直接数値をセット「Len(135791)」するとエラーストップします。
そこで変数を利用していきます。
Sub Len関数test3()
Dim A As Long
A = 135791
MsgBox Len(A)
End Sub
メッセージボックスで 4 を返します。
この数値は、文字数(桁数)とは全く無縁の数値です。(これは変数の長整数型の固有値です。)
④では、数値の桁数を調べるにはどうしたらいい?
Len関数を使うには、変数のデータ型が文字列型でないといけませんが、
計算を伴う数値型の変数の桁数を調べる必要がある時、どうしたらいいでしょうか。
数値型の変数を使って正確に桁数を調べる方法はこれです。
一時的に、強制的に数値データを文字列データに変換する「CStr関数」を利用します。
Sub Len関数test4()
Dim A, B, C As Long
A = 135791
B = 24680
C = A + B
MsgBox "C= " & C & " : Len(CStr(C))= " & Len(CStr(C))
End Sub
このように、数値型変数の計算結果とその桁数が表示されました。
- CStr関数については、こちらの記事が参考になります。
- MsgBoxの使い方について詳しくはこちらです。
LenB関数で文字列のバイト数を知る
Len関数は文字列の長さを文字数で返し、LenB関数は文字列の長さをバイト数で返します。
Len(”東京都新宿区”)は文字数で6を返します。
LenB(”東京都新宿区”)はバイト数で12を返します。
構文など使い方については、Len関数と同じです。
Len関数の説明を参考にしてください。
Sub Len関数test5()
MsgBox LenB("東京都新宿区")
End Sub
Sub Len関数test6()
MsgBox LenB("135791")
End Sub
Sub Len関数test7()
Dim A, B, C As Long
A = 135791
B = 24680
C = A + B
MsgBox "C= " & C & " : LenB(CStr(C))= " & LenB(CStr(C))
End Sub
Len関数で文字列の文字数を知る方法のまとめ
エクセルVBAでプログラミングを行う時に、テキストデータを加工処理しないといけないことがよくあります。
また数値データを「前から〇〇桁」や「後ろから〇〇桁」切り取るなんてこともあると思います。
そんな時に、ほぼ間違いなく必要になるものの一つは、はこの「Len関数」になります。
難しくなく簡単に使える関数ですので、是非覚えておきましょう。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。