[VBA] Left関数で左から文字を取り出します

Left関数

 Left関数 は文字列の左から、指定した数だけ文字を取り出します。

 Left(文字列,取り出す文字の長さ)

 Left関数を使って、"ABCDEFGH" の左から 3 文字を抜き出してみます。

'Left サンプルコード

Sub Left_Test()

 Dim myword As String

 myword = "ABCDEFGH"

 'Left関数で左から3文字を抜き出す
 Debug.Print Left(myword, 3)

End Sub

ABC

 

LeftB関数

 LeftB関数 は文字列の左から、指定バイト数だけ文字を取り出します。

 LeftB(文字列,取り出す文字の長さ)

 VBA では文字コードに UTF-8 を使っているので、1 文字は 2 バイトです。LeftB関数を使って、"ABCDEFGH" の左から 8 バイト (4 文字) を抜き出してみます。

'LeftB サンプルコード

Sub Left_Test()

 Dim myword As String

 myword = "ABCDEFGH"

 'LeftB関数で左から4バイト(8文字)を抜き出す
 Debug.Print LeftB(myword, 8)

End Sub

ABCD

 

Left2関数

 抽出数を文字数とバイト数にするかは引数で指定するようにしたほうが便利かもしれません。というわけで、Left 関数とLeftB関数を1つにまとめた Left2関数 を作っておきました。

'Left2関数

Function Left2(str As String, n As Integer, _
Optional b As Boolean = False)

 If b = False Then

  Left2 = Left(str, n)

 Else

  Left2 = LeftB(str, n)

 End If

End Function

 デフォルトでは指定文字数を抽出するようになっています。オプション引数 b に True (もしくは False 以外の何か) を指定するとバイト数だけ取り出します。

'Left2 サンプルコード

Sub Left2_Test()

 Dim myword As String

 myword = "ABCDEFGH"

 Debug.Print Left2(myword, 4)
 Debug.Print Left2(myword, 4, True)

End Sub

ABCD
AB
関連コンテンツ

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください