【初心者向け】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をコピーしました!

この記事を書いた人

かもろぐ屋へようこそ。

Microsoft製品が大好きな現役社内SEです。
本業では、業務改善・運用・トラブル対応・効率化など、いわゆる「社内の困った」を何でも屋のように対応しています。

このブログでは主に、

VBA
Power Apps
AI

について、実体験ベースで発信しています。

特に最近は、AIを使ったアプリ開発やブログ運営の自動化にハマっています。
「AIがあれば簡単に作れる」と思って始めた結果、普通に壊れたり、詰んだり、課金したりしながら泥臭く進めています。

キラキラした成功談というより、

「実際どうだったのか」
「どこで詰まったのか」
「初心者でも本当にできるのか」

を、できるだけリアルに残すタイプのブログです。

なお、絶賛婚活中です。

コメント

コメントする

CAPTCHA


目次