見出し画像

ExcelVBAのReplace関数でセルの文字列の一部を置換する

この記事では当方がExcelVBAプログラミングの仕事で必要になった処理をまとめております。
住所を番地までCONCATENATEの関数で結合して上書き保存してしまった。住所を番地の手前で分けたい。けれども、どうしていいかわからない方向けの記事です。

ExcelVBAのReplace関数でセルの文字列の一部を置換する方法

「Excelに住所と番地を分けて入力していたが、CONCATENATE関数で住所と番地を結合して上書き保存してしまった。元に戻すことは可能ですか?」とご相談いただきました。Windowsでボリュームシャドウコピーを設定していれば可能でしたが、Windowsでボリュームシャドウコピーを設定されていなかったのでExcelVBAで置換することにしました。

手入力だとデータの件数が多くて時間がかかりすぎることでもExcelVBAだと一瞬でできたりします。

事前準備としまして下記のデータをご用意ください。

画像1

セルの文字列の一部を置換するコードの作成

画像2

「開発」タブをクリック
「Visual Basic」をクリック
「セルの文字列の一部を置換する」コードの入力

セルの文字列の一部を置換するコードの解説

今回作成するコードのポイントは下記1点です。

Replace関数で文字列を置換する

Replace関数の引数のイメージは下記になります。
Replace(文字列, 置換したい文字列, 置換後の文字列)

※コード作成になれるまでは必ず紙に書き出して考えるようにしましょう!

ボタンにセルの文字列の一部を置換するマクロの登録

手順については「ExcelVBAでブックのシート名を検索して見つかったときにシートをアクティブにさせる方法」の記事の「シート検索ボタンにマクロを登録」を参照ください。

セルの文字列の一部を置換するコードの実行

画像3

「置換」ボタンをクリック

画像4

住所と番地を再度分けることができました。

結論(まとめ)

「ExcelVBAのReplace関数でセルの文字列の一部を置換する方法」を解説しました。

セルの文字列の一部を置換するコードの作成
ボタンにセルの文字列の一部を置換するマクロの登録
セルの文字列の一部を置換するコードの実行

「森山式次世代メディア活用法 メール講座」というメルマガを発行しています。これからのWEB集客術を学んでみませんか?

よろしければサポートお願いいたします! いただいたサポートはITプロデューサーとしての活動費に使わせていただきます!