【ExcelVBA】ブック全体で特定文字(複数可)を削除・置換するマクロ

Excel/VBA

標準の[検索と置換]だと1ワードずつしか出来ず面倒なのでマクロで一括置換したい。そんな時に役立つ関数を作って見た。

サンプルデータ


例えばこんな顧客情報があったとする。※内容はこちらで作ったダミーデータです。超絶便利。

先方では何かしらの判別の為記号を付けて運用しているが、そのままのデータだとVLOOKで当たらなかったり、システムに取り込めなかったり等色々と不都合が起きてしまう。
(※弊社実話)

今回はそれらを全シート一括でNULLに置換したい時の為のマクロです。

BulkReplace


以下コピペでそのまま利用可能。

ブックのシート文ループし、Replaceメソッドで置換しています。これを個人用マクロブックに忍ばせて置けば、いつでもワンクリックで置換出来るコマンドの完成です。


今回は予め置換したい文字列が決定しているパターンでしたが、
もし消したい文字が動的な場合はFunction化して、消したい文字を引数として渡す形にしてみてもいいかもしれません(ᵔᴥᵔ)

コメント