Accessシステムを開発していると、
「品番の先頭だけ取得したい」
「ファイル名から日付を取り出したい」
「CSVデータの特定文字を削除したい」
「エラーになる原因文字を置換したい」
といった文字列操作が頻繁に発生します。
Access VBA開発の大半はデータ加工であり、その中でも文字列操作は最も利用頻度の高いテクニックです。
今回は実務で毎日使う、
- Left関数
- Right関数
- Mid関数
- InStr関数
- Replace関数
- Split関数
- Trim関数
について紹介します。
- 品番の先頭を取得したい
- 後ろ4文字を取得したい
- 途中の文字を取得したい
- 文字が含まれているか調べたい
- メールアドレス判定
- 不要な文字を削除したい
- ハイフンを削除したい
- 改行を削除したい
- Splitで文字列を分割したい
- ファイル名から日付を取得したい
- 前後の空白を削除したい
- 全角半角スペースを削除したい
- ファイル拡張子を取得したい
- フォルダパスからファイル名を取得したい
- 実務活用例① CSV取込
- 実務活用例② 設備管理システム
- 実務活用例③ ファイル自動取込
- Copilot活用術① 文字列解析コード作成
- Copilot活用術② データクレンジング支援
- Copilot活用術③ 複雑な文字列分割
- 開発現場で最も使う文字列関数ベスト5
- まとめ
品番の先頭を取得したい
製品分類などでよく利用します。
例えば
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
ファイル判定に利用できます。
フォルダパスからファイル名を取得したい
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開発者が真っ先に習得すべき実践テクニックの一つです。


コメント