Left関数、Right関数のポイント

このページでは、文字列を操作するLeft関数とRight関数のポイントを解説する。

Left関数のポイント

Left関数は、文字列の左側から文字列を抜き出す。

【書式】
Left(文字列, 文字数)

次のプロシージャはLeft関数の使用例だ。文字列「Access VBA」の左側3文字を取り出して変数strに格納し、メッセージボックスに表示する。

'Accと表示される
Sub Test()
    Dim str As String
    str = Left("Access VBA", 3)
    MsgBox str
End Sub

半角文字も全角文字も、同じ1文字として扱う。

'初級Aと表示される
Sub Test()
    Dim str As String
    str = Left("初級Access", 3)
    MsgBox str
End Sub

半角・全角スペースや、その他の記号も1文字として扱う。

'**Aと表示される
Sub Test()
    Dim str As String
    str = Left("**Access", 3)
    MsgBox str
End Sub

引数の順番にも注意したい。

○ Left(文字列, 文字数)
× Left(文字数, 文字列)

Right関数のポイント

Right関数は、文字列の右側から文字列を抜き出す。関数の使い方、考え方はLeft関数と同じだ。

【書式】
Right(文字列, 文字数)
'VBAと表示される
Sub Test()
    Dim str As String
    str = Right("Access VBA", 3)
    MsgBox str
End Sub

Right関数は、数値の先頭をゼロで埋めて桁揃えをするときによく使う。たとえば3桁未満の数値を3桁に揃えたい場合、次のようなコードで実現することができる。

'005と表示される
Sub Test()
    Dim str As String
    str = "5"
    str = Right("000" & str, 3)
    MsgBox str
End Sub
'034と表示される
Sub Test()
    Dim str As String
    str = "34"
    str = Right("000" & str, 3)
    MsgBox str
End Sub

文字列先頭のゼロ埋めは、Right関数のほかにFormat関数でも実現することが可能だ。

'034と表示される
Sub Test()
    Dim str As String
    str = "34"
    str = Format(str, "000")
    MsgBox str
End Sub

Format関数については後日ページを追加する。

練習問題

次のプロシージャを実行したところメッセージボックスに文字列が表示された。その文字列として正しいものはどれか。次の中から1つ選択しなさい。

Sub Test()
    MsgBox Right("A B C D", 3)
End Sub

  1. BCD
  2. C D
  3. DCB
  4. D C

正解を見る

2

コメント