Excel VBA セルの文字数を調べる方法|LEN関数とLENB関数

Excel VBA

この記事では、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”を入力し、実行します。

excel メッセージボックス

文字数3を返します。

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

excel メッセージボックス

文字数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”を入力し、実行します。

excel メッセージボックス

文字数6を返します。

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

excel メッセージボックス

文字数10を返します。

 

まとめ

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

 

タイトルとURLをコピーしました