文字列の文字数を取得する
文字数の取得にはLen関数を使います。 Len関数は文字数をLong型で返します実行プログラム
1 2 3 4 5 6 7 8 |
Sub Sample5_1_1() MsgBox "1 : " & Len(Cells(1, 3).Value) & "文字" & vbCrLf & _ "2 : " & Len(Cells(2, 3).Value) & "文字" & vbCrLf & _ "3 : " & Len(Cells(3, 3).Value) & "文字" & vbCrLf & _ "4 : " & Len(Cells(4, 3).Value) & "文字" End Sub |
- 半角全角に関係なく文字数を返します。
- No.4には分かりにくいですが、半角スペース、全角スペースが含まれています。
文字列のバイト数を取得する(Unicode形式)
文字数の取得にはLenB関数を使います。 LenB関数はバイト数をLong型で返します実行プログラム
1 2 3 4 5 6 7 8 |
Sub Sample5_1_2() MsgBox "1 : " & LenB(Cells(1, 3).Value) & "バイト" & vbCrLf & _ "2 : " & LenB(Cells(2, 3).Value) & "バイト" & vbCrLf & _ "3 : " & LenB(Cells(3, 3).Value) & "バイト" & vbCrLf & _ "4 : " & LenB(Cells(4, 3).Value) & "バイト" End Sub |
- ExcelはUnicodeが採用されている為、半角英数字も2バイトとなります。(Excel 97からUnicodeを採用。)
- ANSI形式でのバイト数を確認するには次項目になります。
文字列のバイト数を取得する(ANSI形式)
ANSI形式での操作を行う場合は、StrConv関数で文字列変換処理を行う必要があります。実行プログラム
1 2 3 4 5 6 7 8 |
Sub Sample5_1_3() MsgBox "1 : " & LenB(StrConv(Cells(1, 3).Value, vbFromUnicode)) & "バイト" & vbCrLf & _ "2 : " & LenB(StrConv(Cells(2, 3).Value, vbFromUnicode)) & "バイト" & vbCrLf & _ "3 : " & LenB(StrConv(Cells(3, 3).Value, vbFromUnicode)) & "バイト" & vbCrLf & _ "4 : " & LenB(StrConv(Cells(4, 3).Value, vbFromUnicode)) & "バイト" End Sub |
文字列のバイト数を取得する(ワークシート関数を使用)
ワークシート関数でもANSI形式での操作を行うことができます。実行プログラム
1 2 3 4 5 6 7 8 |
Sub Sample5_1_4() MsgBox "1 : " & Application.Evaluate("LENB(C1)") & "バイト" & vbCrLf & _ "2 : " & Application.Evaluate("LENB(""" & Cells(2, 3).Value & """)") & "バイト" & vbCrLf & _ "3 : " & [LenB(C3)] & "バイト" & vbCrLf & _ "4 : " & [LenB(C4)] & "バイト" End Sub |