Excel VBAで簡単な置換ツールを作ってみた

置換例_2

どうも、Excel VBA でツール開発を作っているアツシです。

今回は文字列を手軽に置換できるツールがあるといいなと思い作成したツールをご紹介します。

 概要

名称:置換マクロ

環境:MicrosoftOffice Excel VBA

用途:文字列の一括置換

利用ケース:宛名データのデータ整形

置換例_2

背景

先日宛名印刷をする前にデータを整理しておくことが大事という記事を投稿しました。

しかし、データ整形をするのに一つ一つのデータを確認、変更するのは面倒です。
そこで、複数のデータを一度に整理できないかと思い、今回開発しました。

また、宛名印刷以外にも複数の文字列を一括で置換するツールがあると便利かなと思い、開発しました。

機能詳細

・半角、全角の置換

・半角スペース、全角スペースの置換

・文字削除は不可

・文字列による置換

・置換対象行は一列30個まで(最大2列)

・実行速度は一回につき0.5秒もかからない程度(体感速度)

使い方

1.置換対象となる文字列を枠内に記入
2.置換元文字と置換先文字を枠内に記入
3.置換実行ボタンで実行

利用ケース

このツールは半角と全角が混在しているデータ群を統一することができます。

また、置換対象となる文字列を固定していないため、ユーザーが任意の文字に置換できる様にしました。こうすることで

  • 階数表記を変更させたい(階⇒F)
  • ハイフンの混在を統一させたい(「-」、「ー」、「-」等)

等のケースにも対応できます。

尚、毎回置換用の文字を入力するのは面倒なので、予め別シートに置換用テンプレート群を用意しています。

置換テンプレート

開発内容

フローは以下の通りです。

  1. エラーチェック
  2. 置換文字列群の範囲を設定
  3. 置換対象セルの範囲を設定
  4. 置換文字列群のセル毎に置換処理
  5. 完了のアラート

置換処理にはReplace関数を使用しました。

また、置換文字列群及び置換対象セルの設定は固定範囲(Range)で設定しています。

まとめ

今回は複数のデータ群を一括置換するためのツールをご紹介しました。

Excel VBAは様々なデータの整理、置換の処理に向いています。そのためVBAを使えば今まで機械的に手動で行っていたデータ整理を自動で簡単に行えるようになります。

多くのデータを整理したい場合等に是非活用して頂きたいです。

シェアする

フォローをお願いします。

アツシ