MENU

【初心者向け】VBAで文字列の一部を取り出す方法|Left・Right・Mid関数の使い方を解説!

A子さん

「社員番号の“部署コード”だけ抜き出したいんだけど…関数って何使えばいいの?」
「毎回手作業でコピペしてるの、ムダな気がする…!」

先輩

そんなときに活躍するのが、Left・Right・Mid関数です。
VBAで文字列の一部を取り出す基本中の基本、この記事でマスターしましょう!

結論:文字列の取り出しにはLeft・Right・Mid関数を使えばOK!

目次

各関数の基本構文と違い

関数機能構文
Left左からn文字を取り出すLeft(文字列, 文字数)Left("ABCDE", 2)"AB"
Right右からn文字を取り出すRight(文字列, 文字数)Right("ABCDE", 3)"CDE"
Mid指定位置からn文字取り出すMid(文字列, 開始位置, 文字数)Mid("ABCDE", 2, 2)"BC"

Leftの使い方

社員番号の先頭2文字を取得する例

Dim id As String
id = "HR12345"

MsgBox Left(id, 2)  ' → HR

→ 頭に部署コードなどがついている場合に便利!

Rightの使い方

ファイル名の拡張子だけ抜き出す例

Dim fileName As String
fileName = "report.xlsx"

MsgBox Right(fileName, 4)  ' → .xlsx

→ 末尾から固定文字数を取り出したいときに便利。

Midの使い方

中央の数値だけ抜き出す例

Dim code As String
code = "ABC-123-XYZ"

MsgBox Mid(code, 5, 3)  ' → 123

Mid は「どこから・いくつ取るか」を柔軟に指定できるのが強みです!

応用テクニックと注意点

パターン解説
MidとLenを組み合わせるMid(str, start, Len(str) - start + 1) で「残り全部」取れる
文字が足りない場合たとえば Right("A", 3)"A"(エラーにはならない)
文字列が空の場合Left("", 1)""(空文字扱い)

まとめ

Left → 左から、Right → 右から、Mid → 任意の位置から文字列を抜き出す

VBAで文字列を部分的に扱う場合の基本

構文は簡単だが、位置と文字数のミスに注意!

関連記事リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次