アクセス上位ページ
 
最近の更新内容
(2)-b.Mid関数 ⇐ [PREV]
[NEXT] ⇒ (2)-d.LCase、UCase関数

Excel VBA ≫ 2.関数リファレンス - 文字列操作(2)-c.Len、LenB関数

Len関数

Len関数には指定可能な引数が2つあり、いずれか1つだけを指定します。 文字列を指定すると、その文字列の文字数を長整数型 (Long) の値で返します。 変数を指定すると、その変数に必要なバイト数を同じく長整数型で返します。



  • 【構文】
    Len (String | Varname)

      【戻り値】 長整数型 (Long)

  • 引数名 省略 説明
    ※いずれか1つを必ず指定
    String 任意の文字列式を指定します。
    Varname 任意の変数の名前を指定します。


  • Len関数の使用例
  • Sub sample_ef023_01()
        Dim wStr    As String
        Dim wInt    As Integer
        Dim wLng    As Long
    
        wStr = "aあA亜ア"
    
        Debug.Print Len(wStr)       '文字列の文字数
        Debug.Print Len(wInt)       'Integer型のバイト数
        Debug.Print Len(wLng)       'Long型のバイト数
        Debug.Print Len(vbCrLf)     '組み込み定数の文字数
    End Sub
    
    ⇒ サンプルマクロ集 へ

    <実行結果(イミディエイトウィンドウ)>
    5
    2
    4
    2
    


LenB関数

文字列のバイト数を取得したい場合はLenB関数を使用します。
VBAの内部処理では文字列をUnicodeで扱っています。したがって、バイト数を単純に取得すると半角・全角にかかわらず1文字2バイトとして返ってきます。もし、半角1バイト、全角2バイトを返してほしい場合は、文字コードをShift_JISに変換した後に LenB 関数を使用してください。(使用例2参照)
  • 【構文】
    LenB (String | Varname)

  • 引数名 省略 説明
    ※いずれか1つを必ず指定
    String 任意の文字列式を指定します。
    Varname 任意の変数の名前を指定します。


  • LenB関数の使用例1
  • Sub sample_ef023_02()
        Dim wStr    As String
    
        wStr = "aあA亜ア"
    
        Debug.Print LenB(wStr)       'バイト数(Unicode)
    End Sub
    
    ⇒ サンプルマクロ集 へ

    <実行結果(イミディエイトウィンドウ)>
    10
    

  • LenB関数の使用例2
    文字列のバイト数をShift_JIS形式で取得する例
  • Sub sample_ef023_03()
    '### このマクロはWindows機で実行してください。###
    
        Dim wStr    As String
        Dim wStrC   As String
    
        wStr = "aあA亜ア"
    
        'Unicode ⇒ システム既定文字コード(Shift_JIS)へ変換
        wStrC = StrConv(wStr, vbFromUnicode)
    
        Debug.Print LenB(wStrC)     'バイト数(Shift_JIS)
    End Sub
    


    <実行結果(イミディエイトウィンドウ)>
    7
    
カテゴリ内ページ
Excel VBA 〜 総目次 〜
- 2.関数リファレンス
-- (2).文字列操作
--- (2)-a.Left、Right関数
--- (2)-b.Mid関数
--- (2)-c.Len、LenB関数
--- (2)-d.LCase、UCase関数
--- (2)-e.StrConv関数
--- (2)-f.StrReverse関数
--- (2)-g.Replace関数
--- (2)-h.InStr関数
--- (2)-i.InstrRev関数
--- (2)-j.LTrim、RTrim、Trim関数
--- (2)-k.Format関数
--- (2)-l.Asc、Chr関数
--- (2)-m.String、Space関数
--- (2)-n.StrComp関数



Page
Top