『Excel VBA 表計算とプログラミング学習サイト』では、アフィリエイトプログラムを利用して商品を紹介しています。

【VBA】Right関数で右(末尾)から文字を取り出す

【VBA】Right関数

VBARight は文字列の右側 (末尾) から指定数だけ文字を取り出す関数です。

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

第 1 引数に抽出対象となる文字列を渡します。
第 2 引数には取り出す文字の長さを指定します。
戻り値は Variant型(内部処理形式 String の Variant)です。

'[VBA] Right関数サンプルコード

Sub Right_Test()

  Dim mystr As String

  mystr = "右利きに比べて、左利きの人は少数派です"

  'Right関数で右から5文字を抜き出す
  Debug.Print Right(mystr, 5)

End Sub

'実行結果:
'少数派です

【VBA】RightB関数

VBA の RightB は文字列の右側(末尾)から指定バイト数だけ文字を取り出す関数です。

RightB(文字列, バイト数)

第 1 引数に抽出対象を指定します。
第 2 引数にはバイト数を指定します。
戻り値は Variant型となります。

'[VBA] RightB関数サンプルコード

Sub RightB_Test()

  Dim mystr As String

  mystr = "こばとはイチゴ大福が大好きです"

  'RightB関数で右から10バイト(5文字)を抜き出す
  Debug.Print RightB(mystr, 10)

End Sub
'実行結果:
'大好きです

【VBA】Right_2関数

Right と RightB を1つにまとめた Right_2関数 のコードを掲載しておきます。

'[VBA] Right_2関数
Function Right_2(str As String, n As Integer, _
Optional b As Boolean = False)
  If b = False Then
    Right_2 = Right(str, n)
  Else
    Right_2 = RightB(str, n)
  End If
End Function

Right_2() はデフォルト設定 (b=False) で Right関数と同じはたらきをします(指定文字数だけ抽出します)。b=True を指定するとバイト数を取り出します。

コメント