VBAで文字を好きな数取得!right関数含む3関数の使い方

エクセルでは、数値計算はもちろん、文字列も取り扱うことが多いですよね。

文字列の中から決まった文字数だけの文字列を取り出す場合、どのようにしてますか?

こんなときは、文字列の右部分(うしろ)を取り出す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関数の使い方』について解説しましたが、いかがでしたか?

今回は文字数を固定の文字としましたが、変数としてもいいですよ。

そうすると、もっと便利な関数として活躍するはずです。