Len関数・LenB関数で文字列の文字数を知る方法。使用例で解説します

vbaleneyecatch

Len関数の使い方ついて説明します。
エクセルVBAでプログラミングを行う時に、テキストデータを加工処理するには必須の関数です。
非常に有用な関数ですので、是非使えるようになっておきましょう。

 

こんにちは、じゅんぱ店長(@junpa33)です。

 

今回は、文字列操作に必須のVBA関数の「Len関数」の使い方についてです。

テキストデータの一部を取り出して別データとして利用したい場合などに必要になります。

 

Len関数で文字列の文字数を知る方法

 

Len関数の構文

 

構文(記述方法)

  • Len(文字列式または変数)

 

Len関数は文字列の文字数を調べる(返す)関数ですので、基本、調べる対象のデータ型は文字列型(String型)になります。

変数がVariant型の場合は、その変数を文字列型として処理します。

 

Len関数の使用例

 

①例えば文字列式「東京都新宿区」を考えます。

「東京都新宿区」の場合
コード

Len(”東京都新宿区”)という記述になります。


Sub Len関数test1()
    MsgBox Len("東京都新宿区")
End Sub

vbalen001

メッセージボックスで(文字数)6を返します。

vbalen002

 

②文字列式として「13579」を考えます。

文字列「13579」の場合
コード

Len(”135791”)という記述になります。


Sub Len関数test2()
    MsgBox Len("135791")
End Sub

vbalen003

メッセージボックスで(文字数)6を返します。

vbalen004

 

③数値として135791を考えます。

数値135791の場合

Lenの構文に直接数値をセット「Len(135791)」するとエラーストップします。

そこで変数を利用していきます。

コード

Sub Len関数test3()
Dim A As Long
    A = 135791
    MsgBox Len(A)
End Sub

vbalen005

メッセージボックスで 4 を返します。

この数値は、文字数(桁数)とは全く無縁の数値です。(これは変数の長整数型の固有値です。)

vbalen006

 

では、数値の桁数を調べるにはどうしたらいい?

数値の桁数を調べる

Len関数を使うには、変数のデータ型が文字列型でないといけませんが、

計算を伴う数値型の変数の桁数を調べる必要がある時、どうしたらいいでしょうか。

数値型の変数を使って正確に桁数を調べる方法はこれです。

一時的に、強制的に数値データを文字列データに変換する「CStr関数」を利用します。

 

CStr関数については、こちらの記事が参考になります。

エクセルVBA Str関数とCStr関数の知っておくべき違いと使い方を説明します

MsgBoxの使い方について詳しくはこちらです。

メッセージボックス MsgBox実際の使い方を最速に理解

 

コード

Sub Len関数test4()
Dim A As Long, B As Long, C As Long
    A = 135791
    B = 24680
    C = A + B
    MsgBox "C= " & C & " : Len(CStr(C))= " & Len(CStr(C))
End Sub

vbalen007

このように、数値型変数の計算結果とその桁数が表示されました。

vbalen008

 

 

LenB関数で文字列のバイト数を知る

 

Len関数は文字列の長さを文字数で返し、LenB関数は文字列の長さをバイト数で返します。

Len(”東京都新宿区”)は文字数で6を返します。

LenB(”東京都新宿区”)はバイト数で12を返します。

 

構文など使い方については、Len関数と同じです。

Len関数の説明を参考にしてください。

 

Len関数で文字列の文字数を知る方法のまとめ

 

エクセルVBAでプログラミングを行う時に、テキストデータを加工処理しないといけないことがよくあります。

また数値データを「前から〇〇桁」や「後ろから〇〇桁」切り取るなんてこともあると思います。

そんな時に、ほぼ間違いなく必要になるものの一つは、はこの「Len関数」になります。

 

難しくなく簡単に使える関数ですので、是非覚えておきましょう。

 

短期間でエクセルVBAの独学習得を目指したいなら

 

エクセルVBAを独学する独習方法は、学習者それぞれ十人十色、多種多様と思われます。

けれども、

出来るだけ効率よく学習するためには、いくつかの大切なポイントがあります。

独学でもVBA習得の中級クラスに達するのはそんなに難しいことではありません。

先人が行った勉強方法をあなたがそのまま利用すればよいということです。

vbastudyeyecatch002 エクセルVBAを独学で習得する!ために大切な7つのポイントを解説します

独習のための大切な7つのポイントは、上記記事にて解説しています。

重要ワード

独習によるVBA習得のキーワードは、

出来るだけ多くの実例に触れること!

です。

正直、VBAの学習について自分の周りの仕事(業務)からだけ実例を得るのでは効率良い習熟は無理です。

ハッキリ言って、

本当に短い期間でVBA習得を成功させたいなら、今使っている参考書が良書かどうかを判断し、新ツールとしてオンライン学習も取り入れて行うことが、

手っ取り早く短期間習得できるというのは間違いないでしょう。

 

この記事はここまでです。

最後までご覧いただき有難うございました。

 

「VBA最速理解」の記事一覧を開く

 

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。