Option Explicit Sub test() Dim src As String Dim dst As String Dim a As Long Dim h As String src = "123電車" '▼Unicode なので、半角も2バイト換算されてしまう!(困った仕様) dst = LeftB(src, 5) ' "12" がセットされる '▼一度 ANSI に変換する事により、LeftB の期待した動作が可能 dst = StrConv(src, vbFromUnicode) 'Unicode形式をANSI形式に変換 dst = LeftB(dst, 5) 'ANSI形式の状態で任意のバイト数取得 dst = StrConv(dst, vbUnicode) 'ANSI形式を元のUnicode形式に変換 '▼最後の文字がどうなっているか確認(全角が途中で分断された時の確認) a = Asc(Right(dst, 1)) h = Hex(a) End Sub