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

【VBA】Right関数

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

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関数

 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
大好きです

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 を指定するとバイト数を取り出します。

Excel VBA
Excel VBA 表計算とプログラミング学習サイト

コメント

タイトルとURLをコピーしました