この記事では、Excel VBAのLEN関数とLENB関数を使用して、セルの文字数を調べる方法について説明します。
文字数を取得するための関数
文字の長さ(文字数)を取得するための関数に、LEN関数とLENB関数があります。
これらの関数には大きな違いがあります。
それぞれの使い方について、説明します。
LEN関数
Len関数は、指定した文字列の文字数を返します。
半角文字、全角文字、特殊文字、スペースなど、どの種類の文字でも一律に1文字としてカウントします。
構文
Len(string | varname)
【string】
任意の有効な文字列式を指定します。
【varname】
有効な変数の名前を指定します。 varname がバリアント型 (Variant) であれば、Len はこれを文字列型 (String) として処理し、常にその文字数を返します。
使用可能な 2 つの引数(string、varname)の 1 つだけを指定する必要があります。
セルA1の文字数を返す例
Sub sample1() Dim length As Integer length = Len(Range("A1").Value) MsgBox length End Sub
A1セルに半角数字”123”を入力し、実行します。

文字数3を返します。
A1セルに全角”あいうえお”を入力し、実行します。

文字数5を返します。
LENB関数
LENB 関数は、文字列のバイト数を返します。
VBA内部においては、文字コードはすべてUnicode(2バイトコード)のため、半角文字もLenB関数は1文字を2で返します。
構文
LenB(string)
【string】
任意の有効な文字列式を指定します。
セルA1の文字数を返す例
Sub sample2() Dim length As Integer length = LenB(Range("A1").Value) MsgBox length End Sub
A1セルに半角数字”123”を入力し、実行します。

文字数6を返します。
A1セルに全角”あいうえお”を入力し、実行します。

文字数10を返します。
まとめ
今回はExcel VBAを使用してセルの文字数を調べる方法について説明しました。