PR

Access VBA逆引き集|文字列の切り出し・検索・置換を自在に操る実践テクニックとCopilot活用術

VBA

Accessシステムを開発していると、

「品番の先頭だけ取得したい」

「ファイル名から日付を取り出したい」

「CSVデータの特定文字を削除したい」

「エラーになる原因文字を置換したい」

といった文字列操作が頻繁に発生します。

Access VBA開発の大半はデータ加工であり、その中でも文字列操作は最も利用頻度の高いテクニックです。

今回は実務で毎日使う、

  • Left関数
  • Right関数
  • Mid関数
  • InStr関数
  • Replace関数
  • Split関数
  • Trim関数

について紹介します。


スポンサーリンク

品番の先頭を取得したい

製品分類などでよく利用します。

例えば

A12345

から

A

だけ取得したい場合です。

Left("A12345",1)

結果

A


後ろ4文字を取得したい

ロット番号管理などで利用します。

Right("LOT20250801",4)

結果

0801


途中の文字を取得したい

例えば

EQ-2025-0001

から年度だけ取得します。

Mid("EQ-2025-0001",4,4)

結果

2025


文字が含まれているか調べたい

非常によく使います。

例えばCSVファイル判定です。

InStr(FileName,".csv")

結果

Test.csv → 5

含まれない場合

0

が返ります。


メールアドレス判定

入力チェックに便利です。

If InStr(Me!メールアドレス,"@") = 0 Then

MsgBox "メールアドレス形式が不正です"

End If

簡易チェックとして利用できます。


不要な文字を削除したい

最も利用頻度が高いのがReplaceです。

例えばカンマ削除です。

Replace("1,234,567",",","")

結果

1234567

CSV取込でよく利用します。


ハイフンを削除したい

電話番号管理などです。

Replace("090-1234-5678","-","")

結果

09012345678


改行を削除したい

外部データ取込で便利です。

Replace(strData,vbCrLf,"")

データクレンジングで頻繁に使用します。


Splitで文字列を分割したい

CSV処理の定番です。

Dim arr

arr = Split("A,B,C",",")

取得結果

arr(0) = A

arr(1) = B

arr(2) = C


ファイル名から日付を取得したい

売上_20250801.csv

の場合

arr = Split(FileName,"_")

Debug.Print arr(1)

結果

20250801.csv


前後の空白を削除したい

入力ミス対策です。

Trim(Me!社員名)

結果

” 山田太郎 “

“山田太郎”


全角半角スペースを削除したい

実務ではかなり重要です。

Replace(Trim(strName)," ","")

ユーザー入力の揺れ対策になります。


ファイル拡張子を取得したい

非常によく使います。

Right(FileName,4)

結果

.csv

.xlsx

.pdf

ファイル判定に利用できます。


フォルダパスからファイル名を取得したい

Mid(strPath, InStrRev(strPath,"") + 1)

結果

C:\DATA\Test.csv

Test.csv

フォルダ監視システムで定番です。


実務活用例① CSV取込

CSVには不要なカンマや改行が混入します。

strValue = Replace(strValue,",","")

strValue = Replace(strValue,vbCrLf,"")

データ品質向上に効果があります。


実務活用例② 設備管理システム

設備番号

EQ-001234

から設備種別を取得します。

Left(設備番号,2)

結果

EQ

設備分類に利用できます。


実務活用例③ ファイル自動取込

測定結果_20260828.csv

から日付抽出です。

arr = Split(FileName,"_")

strDate = Replace(arr(1),".csv","")

結果

20260828

取込ログ管理で利用できます。


Copilot活用術① 文字列解析コード作成

Access VBAです。

ファイル名

測定結果_20260828.csv

から日付だけ取得する

コードを作成してください。

実務コードを短時間で作成できます。


Copilot活用術② データクレンジング支援

CSVデータの

カンマ

タブ

改行

を削除するVBAを作成してください。

大量データ処理用コードを効率よく生成できます。


Copilot活用術③ 複雑な文字列分割

Access VBAです。

A-B-C-D

という文字列を

配列へ分割したいです。

Split関数の活用例をすぐ確認できます。


開発現場で最も使う文字列関数ベスト5

個人的な実務頻度では次の順です。

1位 Replace

文字置換

2位 Left

先頭取得

3位 Trim

空白削除

4位 Split

CSV解析

5位 InStr

文字検索

この5つだけでも多くの業務システム開発に対応できます。


まとめ

Access VBAでは、

  • Left
  • Right
  • Mid
  • InStr
  • Replace
  • Split
  • Trim

を使いこなせるだけで開発効率が大きく向上します。

特にCSV取込、設備管理、受発注システム、測定データ管理などでは毎日のように利用します。

またCopilotを活用することで、複雑な文字列加工ロジックやデータクレンジングコードも短時間で作成できます。

派手ではありませんが、Access開発者が真っ先に習得すべき実践テクニックの一つです。

Amazon.co.jp

コメント

タイトルとURLをコピーしました