Len関数は実務上よく使う関数だ。また、VBAエキスパート試験でもよく問われると思う。このページではLen関数のポイントを説明する。
基本的な使い方
Len関数は、指定した文字列の文字数を返す。
【書式】
Len(文字列)
次のプロシージャはLen関数の使用例だ。「Excel」の文字数である5を表示する。
'5と表示される
Sub Test()
Dim length As Integer
length = Len("Excel")
MsgBox length
End Sub
半角文字も全角文字も、1文字としてカウントする。
'7と表示される
Sub Test()
Dim length As Integer
length = Len("Excel初級")
MsgBox length
End Sub
半角・全角スペースや、その他の記号も1文字としてカウントする。
'6と表示される
Sub Test()
Dim length As Integer
length = Len("VBA !!")
MsgBox length
End Sub
LenB関数との違い
Len関数と似たものとしてLenB関数がある。LenB関数は、文字数ではなくバイト数を返す。VBAでは、半角文字・全角文字にかかわらず1文字 = 2バイトとして扱われる(特殊な変換をした場合は除く)。よって、単純に文字数の2倍の数が返ってくると考えればOKだ。
'10と表示される
Sub Test()
Dim length As Integer
length = LenB("Excel")
MsgBox length
End Sub
'14と表示される
Sub Test()
Dim length As Integer
length = LenB("Excel初級")
MsgBox length
End Sub
LenB関数は、Excel VBA ベーシックの公式テキストには載っていない。しかし、Access VBA ベーシックの公式テキストのほうには書かれている。よって、念のため解説を記載しておいた。
Trim関数との組み合わせ
試験対策としての情報になるが、Trim関数とLen関数の組み合わせはよくある問題の形式だと思う。Trim関数でスペースを取り除き、そのあとの文字数を問う問題だ。
'5と表示される
Sub Test()
Dim str As String
str = " Excel "
MsgBox Len(Trim(str))
End Sub

Trim関数、LTrim関数、RTrim関数のポイント
このページでは、文字列からスペースを取り除く関数について解説する。
Trim関数のポイント
Trim関数は、引数に指定した文字列から、その両側にある...
また、Replace関数と一緒に使われることも多いと思う。
'8と表示される
Sub Test()
Dim str As String
str = "*Excel*VBA*"
MsgBox Len(Replace(str, "*", ""))
End Sub

Replace関数のポイント
Replace関数は、いろいろと応用がきく関数だ。実務上でもよく使うと思う。このページでは、Replace関数の基本的な使い方とVBAエキスパート試験の...
練習問題
次のプロシージャを実行したところメッセージボックスが表示された。その表示内容として正しいものはどれか。次の中から1つ選択しなさい。
Sub Test()
MsgBox Len(LTrim(" Excel VBA "))
End Sub
- 9
- 10
- True
- Excel VBA
正解を見る
2
コメント