Access VBAで業務システムを開発していると、
- CSV取込時に不要な文字を削除したい
- 電話番号のハイフンを除去したい
- 全角スペースを削除したい
- 改行コードを除去したい
- システム連携前にデータを整形したい
といった場面が頻繁に発生します。
結論から言うと、Replace関数を使いこなせるようになるとデータクレンジングの大部分を自動化できます。
実際のAccess開発では、CSV取込、マスタ移行、外部システム連携、帳票出力など様々な場面で利用されており、開発者が最も利用する関数の一つと言っても過言ではありません。
- Replace関数とは
- 基本構文
- Replace関数が重要な理由
- 逆引き① ハイフンを削除したい
- 逆引き② カンマを削除したい
- 逆引き③ 全角スペースを削除したい
- 逆引き④ 半角スペースを削除したい
- 逆引き⑤ 改行を削除したい
- 逆引き⑥ 特定文字へ変換したい
- 逆引き⑦ 拡張子を削除したい
- 実務活用例① CSV取込システム
- 実務活用例② 顧客マスタ整備
- 実務活用例③ 設備管理システム
- 実務活用例④ ファイル取込
- 実務活用例⑤ ログ解析
- ReplaceとTrimの違い
- Replaceを連続利用する
- 関数化すると便利
- Copilot活用術① データクレンジングコード生成
- Copilot活用術② CSV補正処理作成
- Copilot活用術③ データ品質向上
- Replace利用時の注意点
- 開発現場での利用頻度
- Replace関数を覚えるメリット
- まとめ
Replace関数とは
Replace関数は、
対象文字列
↓
置換前文字列
↓
置換後文字列
へ変換する関数です。
基本構文
Replace( 文字列, 置換前, 置換後)
サンプル
Replace( "ABC-123", "-", "")
結果
ABC123
になります。
Replace関数が重要な理由
業務システムでは
利用者入力
CSVデータ
Excelデータ
外部システム連携
メール情報
など様々なデータを扱います。
しかし実際には
空白
改行
ハイフン
カンマ
全角スペース
などの不要データが混在しています。
Replace関数はそれらを簡単に除去できます。
逆引き① ハイフンを削除したい
電話番号管理です。
strTel = Replace( "090-1234-5678", "-", "")
結果
09012345678
逆引き② カンマを削除したい
金額取込時に利用します。
strData = Replace( "1,234,567", ",", "")
結果
1234567
逆引き③ 全角スペースを削除したい
氏名管理でよく利用します。
strName = Replace( strName, " ", "")
結果
山田 太郎
↓
山田太郎
逆引き④ 半角スペースを削除したい
strName = Replace( strName, " ", "")
結果
山田 太郎
↓
山田太郎
逆引き⑤ 改行を削除したい
CSV取込で定番です。
strData = Replace( strData, vbCrLf, "")
結果
複数行データ
↓
1行データ
逆引き⑥ 特定文字へ変換したい
コード変換です。
strCode = Replace( strCode, "/", "-")
結果
2026/09/07
↓
2026-09-07
逆引き⑦ 拡張子を削除したい
ファイル名解析です。
strFile = Replace( "売上.csv", ".csv", "")
結果
売上
実務活用例① CSV取込システム
CSVには不要な文字が混在します。
strValue = Replace( strValue, ",", "")
クレンジング
strValue = Replace( strValue, vbCrLf, "")
効果
取込品質向上
実務活用例② 顧客マスタ整備
利用者入力対策です。
strCustomer = Replace( Trim(strCustomer), " ", "")
効果
検索精度向上
実務活用例③ 設備管理システム
設備番号整形です。
strNo = Replace( strNo, "-", "")
結果
EQ-001-2026
↓
EQ0012026
実務活用例④ ファイル取込
ファイル名から日付取得です。
strDate = Replace( "2026-09-07", "-", "")
結果
20260907
実務活用例⑤ ログ解析
ログデータ整形です。
strLog = Replace( strLog, vbTab, " ")
効果
ログの標準化
ReplaceとTrimの違い
初心者が混同しやすいポイントです。
Trim
前後の空白のみ削除
Trim(strData)
Replace
任意の文字を削除
Replace(strData, " ", "")
実務では併用
Replace( Trim(strData), " ", "")
非常によく見かける書き方です。
Replaceを連続利用する
実務では複数回利用します。
strData = Replace( strData, " ", "")
strData = Replace( strData, " ", "")
strData = Replace( strData, "-", "")
結果
データが大幅に整理されます。
関数化すると便利
共通処理です。
Public Function CleanData( _
ByVal strValue As String) As String
strValue = Replace( strValue, " ", "")
strValue = Replace( strValue, " ", "")
End Function
呼び出し側
CleanData = strValue
利用
strName = CleanData(strName)
再利用性が向上します。
Copilot活用術① データクレンジングコード生成
Copilotへの依頼例です。
Access VBAです。
電話番号から
ハイフンを削除する
コードを作成してください。
Copilot活用術② CSV補正処理作成
CSV取込前に
カンマ
改行
タブ
を除去する
VBAコードを
作成してください。
Copilot活用術③ データ品質向上
以下のデータ整形処理を
改善してください。
AIによるレビューとも相性が良い関数です。
Replace利用時の注意点
大文字小文字
環境によって結果が変わる場合があります。
事前に統一処理を入れると安全です。
Null対策
Null値には注意です。
Replace( Nz(strValue, ""), "-", "")
がおすすめです。
全角と半角は別文字
例えば
–
-
は別扱いになります。
開発現場での利用頻度
実務利用頻度です。
| 順位 | 用途 |
|---|---|
| 1位 | CSV取込 |
| 2位 | 電話番号整形 |
| 3位 | 氏名整形 |
| 4位 | 設備番号管理 |
| 5位 | ログ解析 |
ほぼ毎日のように利用します。
Replace関数を覚えるメリット
次のような効果があります。
- CSV品質向上
- データ入力品質向上
- システム連携安定化
- エラー削減
- 保守性向上
特にCSV取込システムでは必須です。
まとめ
Replace関数はAccess VBA開発において最も利用頻度の高い関数の一つです。
特に
- CSV取込
- 顧客管理
- 設備管理
- ファイル連携
- ログ解析
などで大きな効果を発揮します。
またCopilotを活用することで、
- データクレンジングコード生成
- 品質改善提案
- コードレビュー
も効率化できます。
派手な関数ではありませんが、実務システムの品質を支える重要な関数です。Access VBA開発者なら確実に習得しておきましょう。

コメント