Mid関数:文字列の指定した位置から指定の文字数分だけ文字列を取得する

Mid 関数は Excel VBA で用意されている関数の一つで、対象の文字列の指定した位置から指定した文字数分だけ部分文字列を取得します。ここでは Excel VBA における Mid 関数の使い方について解説します。

※ 文字数ではなくバイト数で指定する場合は MidB 関数を使用します。 MidB 関数については「MidB関数:文字列の指定した位置から指定のバイト数分だけ文字列を取得する」を参照されてください。

(Last modified: )

Mid関数の定義と使い方

Mid 関数は対象の文字列の指定した位置から指定の文字数分の文字列を返します。

Mid(string,start)

1 番目の引数に対象となる文字列を指定します。 2 番目の引数に文字列を取得する最初の位置を文字数で指定します。例えば 2 文字目から取得する場合は 2 を指定します。 3 番目の省略可能な引数に取得する文字数を指定します。省略した場合は開始位置から文字列の最後までを取得します。

次の例を見てください。

Debug.Print Mid("FLOWER",3)    'OWER
Debug.Print Mid("FLOWER",3,2)  'OW
Debug.Print Mid("東京都",1,2)   '東京

1 番目に指定した文字列に対して、 2 番目の引数に指定した位置から 3 番目の引数に指定した文字数分だけ取得しイミディエイトウィンドウに表示します。 3 番目の引数を省略した場合は文字列の末尾までを取得します。半角文字か全角文字かに関係なく文字数での指定である点に注意してください。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub Mid関数()
    Range("C3").Value = Mid(Range("B3").Value, 3, 4)
    Range("C4").Value = Mid(Range("B4").Value, 3, 4)
    Range("C5").Value = Mid(Range("B5").Value, 3, 4)
    Range("C6").Value = Mid(Range("B6").Value, 3, 4)
End Sub

Mid関数の定義と使い方(1)

このプログラムを実行すると Mid 関数を使って B3 セルから B6 セルに入力されている文字列の 3 番目の文字から 4 文字分だけ部分文字列を取得し、取得した文字列を C3 セルから C6 セルにそれぞれ代入します。

Mid関数の定義と使い方(2)

なお指定した位置から指定した長さの分だけ取得しようとしたときに、対象の文字列の長さを超えてしまう場合は文字列の最後までを取得します。

-- --

Excel VBA における Mid 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。