エクセルでは、数値計算はもちろん、文字列も取り扱うことが多いですよね。
文字列の中から決まった文字数だけの文字列を取り出す場合、どのようにしてますか?
こんなときは、文字列の右部分(うしろ)を取り出すright関数のほか、文字列の左部分(まえ)を取り出すleft関数、文字列の中間部分を取り出すmid関数を使えると、とても便利ですよ。
本記事では『VBAでのright関数、left関数、mid関数の使い方』について解説します。
1.VBAでのright関数の使い方
こんにちは。エクセルマン・ブリーダーのしもむぎ(@re_znd13)です。
まずはright関数から見ていきましょう。
right関数はその名の通り、文字列の右部分(うしろ)を取り出す関数です。
”123456789”という文字列からright関数で3文字と指定すると、”789”が取り出せますし、”こんにちはむぎさん”から4文字と指定すると、”むぎさん”が取り出せる、といった具合です。
right(文字列,文字数)
right関数はこのように記述します。
文字列や文字数をセルから取得するVBAコードとその結果は以下のようになります。
上述した例と同じようにA1セルの”こんにちはむぎさん”という文字列から、右の4文字を取り出せました。
Sub rightf()
Dim str0, str1 As String
Dim lng As Long
str0 = Cells(1, 1).Value
lng = Cells(1, 2).Value
str1 = Right(str0, lng)
MsgBox str1
End Sub
2.VBAでのleft関数の使い方
次にleft関数を見ていきましょう。
left関数はright関数と反対に、文字列の左部分(まえ)を取り出す関数です。
”こんにちはむぎさん”から5文字とすると、”こんにちは”という文字列が取り出せるということですね。
left(文字列,文字数)
構文は上のようになっています。right関数と似てますね。
VBAコードと結果は以下のようになります。
Sub leftf()
Dim str0, str1 As String
Dim lng As Long
str0 = Cells(1, 1).Value
lng = Cells(1, 2).Value
str1 = Left(str0, lng)
MsgBox str1
End Sub
3.VBAでのmid関数の使い方
最後に、mid関数を見てみましょう。
mid関数は、文字列の中間部分を取り出す関数です。
”こんにちはむぎさん”とスタート位置が3文字目、文字数が4文字とすると、”にちはむ”という文字列が取り出せるというものです。
スタート位置の指定が必要というのがポイントですね。
構文を見てみましょう。
mid(文字列,スタート位置,文字数)
VBAコードと結果は以下のようになります。
Sub midf()
Dim str0, str1 As String
Dim sta, lng As Long
str0 = Cells(1, 1).Value
sta = Cells(1, 2).Value
lng = Cells(1, 3).Value
str1 = Mid(str0, sta, lng)
MsgBox str1
End Sub
4.まとめ
本記事では『VBAでのright関数、left関数、mid関数の使い方』について解説しましたが、いかがでしたか?
今回は文字数を固定の文字としましたが、変数としてもいいですよ。
そうすると、もっと便利な関数として活躍するはずです。