文字の抽出: Mid, Left, Right

文字列の中から特定の文字を抽出したくなることがあります。例えばファイルの名前に特定の文字列を含むものだけを抽出したい時や、データから”高橋”さんを含む行を選択したり、などです。文字列の操作に長けてくると、このような検索、抽出といった操作が楽にできるようになってきます。今回はMid, Left, Right関数を使って、B2セルに書かれている文から特定の文字を抽出します。

Mid, Left, Rightとも、最初の引数には文字列を与えます。Mid関数の次の引数は、何文字目から選択するか、を指定し、3つめの引数で何文字分抽出するかを決めます。Mid(sss, 5, 2)とした場合、5文字目から2文字分を選択することになります。Leftは文字列の左から、Rightは右から指定文字数分を選択します。さて、今回は日本語の文字列から文字を抽出していますが、abcdeのようにアルファベットから抽出するのも同じ形です。半角・全角の違いがあるかと思っていましたが、Left("abcde",2)とすると、日本語と同じく2文字分の"ab"が選択されます。

Sub test()
  Dim sss As String               '文字列変数を宣言
  sss = Cells(2, 2)                 'B2セルの文字列をsssに格納

  Cells(5, 2) = Mid(sss, 5, 2)  '5文字目から2文字文
  Cells(6, 2) = Left(sss, 2)
  Cells(7, 2) = Right(sss, 2)
End Sub

0 件のコメント:

コメントを投稿