こんばんは!久しぶりにVBAコード書きました。仕事で役に立った文字の置換をコードで紹介します。表で年齢列に〇〇歳という文字があったのですが、歳という文字列を削除したかったためマクロを作りました。
目次
VBA セルの文字を置換する
マクロボタン作成方法
例としてセルを移動する「ボタン」を作成します。
①「開発」タブ > 「挿入」 > 「ボタン(フォームコントロール)」 を選択します。
![VBA文字列置換](https://i0.wp.com/www.nw-engineer.work/wp-content/uploads/2021/10/VBA-%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%EF%BC%91.png)
②左クリックして範囲を指定することでボタンが作成されます。
![VBA文字列置換](https://i0.wp.com/www.nw-engineer.work/wp-content/uploads/2021/10/VBA%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%9C%E3%82%BF%E3%83%B3.png)
③マクロの登録でマクロ名を「ActiveCel」とし「新規作成」をクリックします。(マクロ名は任意です。)
![VBA文字列置換](https://i0.wp.com/www.nw-engineer.work/wp-content/uploads/2021/10/%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AE%E7%99%BB%E9%8C%B2.png)
④VBAの画面でModule1のコードが開きます。
![VBA文字列置換](https://i0.wp.com/www.nw-engineer.work/wp-content/uploads/2021/10/VBA-Module1.png?resize=742%2C434)
ここまでがVBAボタンの作成とコード記述画面までの手順です。
セルの文字列置換
①セルを選択するVBAマクロは下記のコードを記述します。
※例では置換する対象の範囲を”P2:P41201”として年齢の歳の字を削除しています。
Call Range(“P2:P41201”).Replace(“歳”, “”)
②保存は左上の「保存アイコンボタン」で保存が出来ます。
![VBA 文字列の置換](https://i0.wp.com/nw-engineer.work/wp-content/uploads/2022/06/VBA-セルの置換.png?resize=912%2C533&ssl=1)
③ファイル名を「〇〇.xlsm」として、ファイルの種類を「Excelマクロ有効ブック(*.xlsm)」とし「保存」をクリックし完了です。保存後は、開いているVBAウインドウを閉じても大丈夫です
![VBA文字列置換](https://i0.wp.com/www.nw-engineer.work/wp-content/uploads/2021/10/xlsm-%E4%BF%9D%E5%AD%98.png)
VBA 文字列置換ボタンの動作例
①下記はボタンをクリックする前のExcelの画面です。
ボタンをクリックすると・・・
![VBA文字列置換](https://i0.wp.com/nw-engineer.work/wp-content/uploads/2022/06/VBA-文字列の置換.png?resize=841%2C467&ssl=1)
②VBAコードで指定したセルP2からの文字列”歳”が削除されます。
![VBA文字列置換](https://i0.wp.com/nw-engineer.work/wp-content/uploads/2022/06/VBA-文字列の置換2.png?resize=837%2C409&ssl=1)
VBA 別シート セルの文字列置換
先ほど紹介したVBAコードは同じシートの場合のVBAコードになります。別シートの文字列を置換したい場合は下記のコードになります。
Dim sht As Worksheet
Set sht = Sheets(“test1”)
Call sht.Range(“P2:P41201”).Replace(“歳”, “”)
まとめ Excel VBA 文字列置換
VBAでセルの文字列置換をするコードまとめです。
- マクロボタンの作成 ~ マクロ登録
- Moduleへコードを書く
- 文字列置換は Call Range(“セル範囲”).Replace(“*”, “/”)
- 別シートの文字列置換も行なうことが出来る
VBAのボタン1つでセルの文字列操作が出来たら非常に便利です。拡張して便利なマクロボタンを作成しましょう!ほかにもこちらでVBA関連の記事を書きましたのでご覧ください。それではー!
![Excel VBA セル コピー ペースト](https://i0.wp.com/nw-engineer.work/wp-content/uploads/2021/11/Excel-VBA-セル-コピー-ペースト.png?resize=320%2C180&ssl=1)