PR

Access VBA逆引き集|Replace関数でデータクレンジングを自動化する実践テクニックとCopilot活用術

VBA

Access VBAで業務システムを開発していると、

  • CSV取込時に不要な文字を削除したい
  • 電話番号のハイフンを除去したい
  • 全角スペースを削除したい
  • 改行コードを除去したい
  • システム連携前にデータを整形したい

といった場面が頻繁に発生します。

結論から言うと、Replace関数を使いこなせるようになるとデータクレンジングの大部分を自動化できます。

実際のAccess開発では、CSV取込、マスタ移行、外部システム連携、帳票出力など様々な場面で利用されており、開発者が最も利用する関数の一つと言っても過言ではありません。


スポンサーリンク

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開発者なら確実に習得しておきましょう。

Access VBA逆引き大全 600の極意 Microsoft 365/Office 2021/2019/2016/2013対応 | E-Trainer.jp[中村峻] |本 | 通販 | Amazon
AmazonでE-Trainer.jp[中村峻]のAccess VBA逆引き大全 600の極意 Microsoft 365/Office 2021/2019/2016/2013対応。アマゾンならポイント還元本が多数。E-Trainer.jp…

コメント

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