このページでは、文字列を操作する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
- BCD
- C D
- DCB
- D C
正解を見る
2
コメント