こんばんは!久しぶりにVBAコード書きました。仕事で役に立った文字の置換をコードで紹介します。表で年齢列に〇〇歳という文字があったのですが、歳という文字列を削除したかったためマクロを作りました。
目次
VBA セルの文字を置換する
マクロボタン作成方法
例としてセルを移動する「ボタン」を作成します。
①「開発」タブ > 「挿入」 > 「ボタン(フォームコントロール)」 を選択します。
②左クリックして範囲を指定することでボタンが作成されます。
③マクロの登録でマクロ名を「ActiveCel」とし「新規作成」をクリックします。(マクロ名は任意です。)
④VBAの画面でModule1のコードが開きます。
ここまでがVBAボタンの作成とコード記述画面までの手順です。
セルの文字列置換
①セルを選択するVBAマクロは下記のコードを記述します。
※例では置換する対象の範囲を”P2:P41201”として年齢の歳の字を削除しています。
Call Range(“P2:P41201”).Replace(“歳”, “”)
②保存は左上の「保存アイコンボタン」で保存が出来ます。
③ファイル名を「〇〇.xlsm」として、ファイルの種類を「Excelマクロ有効ブック(*.xlsm)」とし「保存」をクリックし完了です。保存後は、開いているVBAウインドウを閉じても大丈夫です
VBA 文字列置換ボタンの動作例
①下記はボタンをクリックする前のExcelの画面です。
ボタンをクリックすると・・・
②VBAコードで指定したセルP2からの文字列”歳”が削除されます。
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関連の記事を書きましたのでご覧ください。それではー!