Excel VBA テクニック集
Len,LenBの拡張





Excel VBA テクニック集
昔、「A」「ア」は1バイト文字、「A」「ア」は2バイト文字として扱われました。
UniCodeが採用されてからは、すべて2バイト文字になりました。
文字数の長さを関数Lenで調べると、
Len("アアア"),Len("111")は3
Len("アアア"),Len("111")も3
になります。バイト数を関数LenBで調べると、
Len("アアア"),Len("111")は6
Len("アアア"),Len("111")も6
になります。ところで、表示上の長さを調べようとするとLen,LenB使えません。
小文字は1、大文字は2となるような関数が必要です。その関数を下記に記載します。
Public Function Len_Text(Text_F As String) As Integer
    Dim I As Integer
    
    Len_Text = 0
    If Text_F = "" Then
        Exit Function
        End If

    For I = 1 To Len(Text_F)
        If Asc(Mid(Text_F, I, 1)) >= 0 _
        And Asc(Mid(Text_F, I, 1)) <= 255 Then
            Len_Text = Len_Text + 1
            Else
            Len_Text = Len_Text + 2
            End If
        Next I
End Function

「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究|