文字列の内容 Len関数

Len関数は、文字列の文字数の取得や、型のサイズを取得します。

大体、文字数チェックや他の文字列の関数と併用して使う事が多いです。

Len関数の構文

Len(string | varname)

Len(文字列|型)

戻り値は数値です。

Len関数の使用例

・Len関数内に文字列を設定

・Len関数内に構造体を設定

・文字列に指定した文字列が無い場合

・セルから文字列を取得して文字数をセルに設定

・Mid関数、InStrRev関数との併用例

・繰り返し処理(Mid関数、InStrRev関数、Len関数)

の内容で説明していきます。

Len関数内に文字列を設定

Sub Len1()

    MsgBox "abcde 文字数:" & Len("abcde") & vbLf & "あいう 文字数:" & Len("あいう")
    
End Sub

vbLf はメッセージボックス内の改行です。

Len関数内に構造体を設定

Len関数内で構造体(Integer型、Long型など)のバイト数を取得します。

構造体の大きさを取得します。

Sub Len2()

    Dim i As Integer
    Dim l As Long
    MsgBox "Integer型:" & Len(i) & vbLf & "Long型:" & Len(l)
    
End Sub

変数は宣言しましたが値などは設定していません。

Integer型は2バイト、Long型は4バイト

文字列に指定した文字列が無い場合

Sub Len3()

    MsgBox Len("")
    
End Sub

Len関数内は空白です。

空白ですので文字数は0です。

セルから文字列を取得して文字数をセルに設定

B2に文字列を入力しています。

Sub Len4()

    Dim moji As String
    
    'セルから文字列を取得
    moji = Cells(2, 2)
    Cells(2, 3) = Len(moji)
    
End Sub

処理を実行するとC2に7の数値が設定されます。

Mid関数、InStrRev関数との併用例

B2にファイルのパスを含めたファイル名が設定されています。

ファイル名だけ取得したい場合、Mid関数とInStrRev関数とLen関数を使用すると簡単に取得します。

Mid関数は指定した文字数を取得します。文字列の内容 Mid関数参考にしてください。

InStrRev関数は文字列の末尾から検索した文字列の位置を返却します。

Sub Len5()

    Dim moji As String
    Dim ichi, mojisu As Integer
    
    'セルから文字列を取得
    moji = Cells(2, 2)
    '文字列の末尾から\の位置を取得
    ichi = InStrRev(moji, "\")
    '文字列の文字数を取得
    mojisu = Len(moji)
    'ファイル名を取得
    Cells(2, 3) = Mid(moji, ichi + 1, mojisu)
    
End Sub

処理の内容

1.B2セルから”C:\Desktop\写真一覧\写真\IMG00013.jpg”の内容を変数mojiに設定します。

2.InStrRev関数で”C:\Desktop\写真一覧\写真\IMG00013.jpg”の末尾から”\”の位置を取得します。変数ichiの値は19です。

3.Len関数で”C:\Desktop\写真一覧\写真\IMG00013.jpg”の文字数を取得する。変数mojisuの値は31です。

4.Mid関数で”C:\Desktop\写真一覧\写真\IMG00013.jpg”の文字列を19 + 1番目から31番目まで取得してC2に設定します。

ファイル名だけがC2に設定されました。

繰り返し処理(Mid関数、InStrRev関数、Len関数)

上記の内容のようにファイル名を記載している文字列の一覧があります。

一覧からファイル名だけを隣のセルに設定する方法を紹介します。

Sub Len6()

    Dim moji As String
    Dim ichi, mojisu As Integer
    Dim i As Integer
    
    i = 0
    Do While Cells(i + 2, 2) <> ""
    
        'セルから文字列を取得
        moji = Cells(i + 2, 2)
        '文字列の末尾から\の位置を取得
        ichi = InStrRev(moji, "\")
        '文字列の文字数を取得
        mojisu = Len(moji)
        'ファイル名を取得
        Cells(i + 2, 3) = Mid(moji, ichi + 1, mojisu)
        i = i + 1
        
    Loop
    
End Sub

Mid関数、InStrRev関数との併用例にDo Whileを追加致しました。

ファイル名だけがC列に設定されました。

今回はLen関数を使用した使用例を複数記載致しました。

皆様の参考になれば幸いです。

Published by

不明 のアバター

yuuya

 現在フリーランスとして仕事を行っております。 新卒でIT企業に入社して、某ECサイトの開発、某銀行の滞納者管理システムの開発、某携帯キャリアのアクセス位置制御システムの開発などの色々なシステム開発に携わって参りました。 体調を崩して他業種に転職をしましたがIT技術を生かし、業務の効率化を提案して2時間かかる作業を2分で終らせられる様に作業の自動化などを行ってきました。  私は働きすぎて体を壊したので私の知識で、少しでも皆様の帰宅時間を速める事が出来るなら幸いです。

コメントを残す