見習いエンジニアがゆく

見習いエンジニアの勉強帳 VBA・NWなどなどITの勉強用ブログです。のんびり、のんびり。

Excel VBA 『関数』 Mid・Left・Rightの使い方

おはようございます。ハイルナーです。

本日はVBAのMid関数・Left関数・Right関数の使い方を紹介します。3つとも文字列から文字列を抽出・抜き出す関数です。

 

 

Mid関数

構文

Mid(文字列, 開始位置, 文字数)

 

引数

  • 文字列:文字列を抜き出す文字列
  • 開始位置:文字列の何文字目から文字列を抜き出すかを指定
  • 文字数:開始位置で指定した文字数から何文字抜き出すかを指定

 

使用例)

Sub negaigoto()
    MsgBox Mid("2019年はいい年になりますように!", 7, 12)
End Sub

「2019年はいい年になりますように!」の7文字目「い」から12文字を抜き出すので「いい年になりますように!」を抜き出します。

 

Left関数

構文

Left(文字列, 文字数)

 

引数

  • 文字列:文字列を抜き出す文字列
  • 文字数:文字列の左端から何文字抜き出すかを指定

 

使用例)

Sub negaigoto2()
    MsgBox Left("2019年はいい年になりますように!", 9)
End Sub

文字列「2019年はいい年になりますように!」 の左端(最初の文字)から「9文字」を抜き出すので、「2019年はいい年」を抜き出します。

 

Right関数

構文

Right(文字列, 文字数)

 

引数

  • 文字列:文字列を抜き出す文字列
  • 文字数:文字列の右端から何文字抜き出すかを指定

 

使用例)

Sub Aisatsu()
    MsgBox Right("あけましておめでとう", 5)
End Sub

文字列「あけましておめでとう」の右端(最後の文字)から5文字を抜き出すので、「おめでとう」を抜き出します。

 

Mid関数・Left関数・Right関数で試してみよう

Excelに以下のような表を作って、関数を試してみましょう。

f:id:melancholy198x:20190113015947j:plain

 

VBAのコードを書く前に、やりたい処理を整理します。

 

<処理>

・Mid関数

セルE2:E4にMid関数を利用して、セルB2:B4から文字列を抜き出す。

開始位置と文字数はセルC2:C4、セルD2:D4。

・Left関数

セルD7:D8にLeft関数を利用して、セルA7:A8から文字列を抜き出す。

抜き出す文字数はセルC7:C8.

・Right関数

セルD9:D10にRight関数を利用して、セルA9:A10から文字列を抜き出す。

抜き出す文字数はセルC9:C10.

 

コード例を以下に記載します。引数を直接ソースコードに記述する方法。引数一部にセルの値を利用する方法、引数全てにセルの値を利用する方法を書いてみました。

 

コードの例)

Sub lessonMid_Left_Right()
    'Mid関数の練習
    Range("E2").Value = Mid("あいうえお", 2, 3)
    '引数「文字列」にセルB3の値を利用
    Range("E3").Value = Mid(Range("B3"), 3, 3)
    '引数「文字列」・「開始位置」・「文字数」にセルB4、C4、D4の値を利用
    Range("E4").Value = Mid(Range("B4"), Range("C4"), Range("D4"))
   
    'Left関数の練習
    Range("D7").Value = Left("あいうえお", 3)
    '引数「文字列」・「文字数」にセルB8、C8の値を利用
    Range("D8").Value = Left(Range("B8"), Range("C8"))
   
    'Right関数の練習
    Range("D9").Value = Right("さしすせそ", 1)
    '引数「文字列」、「文字数」にセルB10、C10の値を利用
    Range("D10").Value = Right(Range("B10"), Range("C10"))
End Sub

 

 最後までお読みいただきありがとうございました。