Excel VBAの「Right関数」「Left関数」「Mid関数」の違いと使い方をご説明します。
この3つの関数はExcelのワークシート関数でも使用される頻度が高い関数かと思います。
使い方はワークシート関数と一緒ですので、そんなに難しい関数ではありません。
3つの関数の違いと使い方から、それぞれのサンプルコードも併せて記載します。
1.Right・Left・Mid関数の違い
それぞれの関数の違いをご説明します。
関数名 | 説明 |
Right | 指定した文字列の右端から、指定した文字数分の文字列を返します。 |
Left | 指定した文字列の左端から、指定した文字数分の文字列を返します。 |
Mid | 指定した文字列の指定した位置から、指定した長さの文字列を返します。 |
Right関数は右端から、Left関数は左端から、Mid関数は開始位置から指定した文字数を返します。
2.Right関数の使い方
指定した文字列の右端から、指定した文字数分の文字列を返します。
次のように記述します。
Right(String,Length)
「String」には、抽出する文字列を指定します。
「Length」には、「String」から抽出する文字数を指定します。
「Length」に指定した文字列以上の数値を指定してもエラーにはならず、全ての文字列が抽出されます。
サンプルコード
Sub Sample1()
Debug.Print Right("あいうえお", 3) 'うえお
Debug.Print Right("1234567890", 5) '67890
Debug.Print Right("1234567890", 20) '1234567890
End Sub

3.Left関数の使い方
指定した文字列の左端から、指定した文字数分の文字列を返します。
次のように記述します。
Left(String,Length)
「String」には、抽出する文字列を指定します。
「Length」には、「String」から抽出する文字数を指定します。
「Length」に指定した文字列以上の数値を指定してもエラーにはならず、全ての文字列が抽出されます。
サンプルコード
Sub Sample2()
Debug.Print Left("あいうえお", 3) 'あいう
Debug.Print Left("1234567890", 5) '12345
Debug.Print Left("1234567890", 20) '1234567890
End Sub

4.Mid関数の使い方
指定した文字列の指定した位置から、指定した長さの文字列を返します。
次のように記述します。
Mid(String,Start,Length)
「String」には、抽出する文字列を指定します。
「Start」には左端から抽出を開始する位置を指定します。
「Length」は省略可能で、指定する場合は「String」から抽出する文字数を指定します。
「Start」、「Length」共に指定した文字列以上の数値を指定してもエラーにはならず、全ての文字列が抽出されます。
サンプルコード
Sub Sample3()
Debug.Print Mid("あいうえお", 2) 'いうえお
Debug.Print Mid("あいうえお", 2, 3) 'いうえ
Debug.Print Mid("1234567890", 3, 3) '345
Debug.Print Mid("1234567890", 5, 10) '567890
Debug.Print Mid("1234567890", 15, 10) 'なし
End Sub
