構文
引数 string には、文字列を抜き出す元の文字列を示す文字列式を指定します。
引数 start には、文字列を抜き出す先頭位置を指定します。
引数 length は省略可能です。抜き出す文字列の長さを指定します。
解説
引数stringで指定した文字列の、引数startで指定した位置から引数lengthで指定した長さの文字列を返します。
たとえば、Mid("ABCDEFG",3,2)では、CDを返します。
引数lengthを省略すると引数startから後ろのすべての文字列が返ります。
たとえば、Mid("ABCDEFG",3)では、CDEFGが返ります。
サンプル
次の例は、セルB2に入力されている住所の「東京都から後ろ全部」を表示します。
Sub Sample() MsgBox Mid(Range("B2"), 4) End Sub
Mid関数に指定する引数は、次の通りです。
Mid(元の文字列, 抜き出す開始位置, 抜き出す文字数)
たとえば、Mid("ABCDEFG", 3, 4) なら、
また、VBAのMid関数は、最後の引数[抜き出す文字数]を省略することができます。最後の引数を省略すると、引数[抜き出す開始位置]から後ろ全部を返します。
ワークシート関数にも、同じようなMID関数があります。書式も使い方も、ほとんど同じですが、ワークシート関数のMID関数では、3番目の引数を省略できません。「後ろ全部」を抜き出すときは、3番目の引数を省略するのではなく、3番目の引数に「抜き出し可能な文字列数より大きい数」を指定します。
「抜き出し可能な文字数より大きい数」なら何でもいいので、一般的には MID(B2,4,256) とか MID(B2,4,1000) のように、十分大きい数値を指定することが多いです。