-
∨目次
- 構文
- 解説
- 使用例
VBA Len 関数
はじめに
Excel VBA マクロの Len 関数を紹介します。
Len 関数は、文字列の文字数を返します。または構造体など型のサイズを返します。
文字列の文字数を知りたいときに使用します。
- 文字列をバイトデータとして扱うには LenB 関数を使用します。
-
目次
- 構文
- 解説
- 使用例
構文
Len(文字列)
文字列の文字数を取得します。
Len(型)
型のサイズを取得します。
引数「文字列」 | 文字列を指定します。 |
引数「型」 | 構造体や Integer 型の変数を指定します。 |
戻り値の型 | 数値型 (Long) |
解説
引数に String 型を指定すると文字数を、それ以外の型を指定するとその型のバイト数を返します。
引数「文字列」が空文字""なら0を返します。
引数「型」が Byte 型なら1を、Integer 型なら2を、Long 型なら4を返します。
LenB 関数を使用すると、VBA の文字コードは Unicode なので、すべての 1 文字が 2 バイトになります。これを半角文字だけ 1 バイトとする Shift_JIS にするには「StrConv 関数」を使用して変換します。
使用例
文字数を取得する。
Dim i As Integer
i = Len("123456")
Debug.Print(i) ' 6
i = Len("あいう")
Debug.Print(i) ' 3
i = Len("")
Debug.Print(i) ' 0
文字数だけループする。
Dim 文字数 As Integer
文字数 = Len("123456")
Dim i As Integer
For i = 1 To 文字数
' 処理
Next
型のバイト数を取得する。
Dim b As Byte
Dim i As Integer
Dim l As Long
i = Len(b)
Debug.Print(i) ' 1
i = Len(i)
Debug.Print(i) ' 2
i = Len(l)
Debug.Print(i) ' 4
半角文字を 1 バイトとして取得する。
Dim i As Integer
i = LenB(StrConv("ABC", vbFromUnicode))
Debug.Print(i) ' 3
i = LenB(StrConv("ABC", vbFromUnicode))
Debug.Print(i) ' 6
スポンサーリンク