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

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

スポンサーリンク

Left関数のポイント

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

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

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

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

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

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

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

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

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

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

Right関数のポイント

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

【書式】
Right(文字列, 文字数)
'VBAと表示される
Sub Test()
    Dim str As String
    str = Right("Excel 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関数については下記のページにまとめた。

Format関数のポイント
Format関数は、日付や数値をさまざまな形式に変換する。VBAエキスパート試験でも問われやすい関数だと思う。 基本的な使い方 Format関数には...

練習問題

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

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

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

正解を見る

2

コメント