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



そんなときに活躍するのが、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で文字列を部分的に扱う場合の基本
構文は簡単だが、位置と文字数のミスに注意!
コメント