Excel

Excel VBA講座③ セルの文字を置換する VBAコード

ExcelVBA置換

こんばんは!久しぶりにVBAコード書きました。仕事で役に立った文字の置換をコードで紹介します。表で年齢列に〇〇歳という文字があったのですが、歳という文字列を削除したかったためマクロを作りました。

VBA セルの文字を置換する

マクロボタン作成方法

例としてセルを移動する「ボタン」を作成します。

①「開発」タブ > 「挿入」 > 「ボタン(フォームコントロール)」 を選択します。

VBA文字列置換

②左クリックして範囲を指定することでボタンが作成されます。

VBA文字列置換

 

③マクロの登録でマクロ名を「ActiveCel」とし「新規作成」をクリックします。(マクロ名は任意です。)

VBA文字列置換

④VBAの画面でModule1のコードが開きます。

VBA文字列置換

ここまでがVBAボタンの作成とコード記述画面までの手順です。

セルの文字列置換

①セルを選択するVBAマクロは下記のコードを記述します。

※例では置換する対象の範囲を”P2:P41201”として年齢の歳の字を削除しています。

 Call Range(“P2:P41201”).Replace(“歳”, “”)

別の例として下記はA列に田中という文字があった場合タナカに変換します。

Call Range(“A:A”).Replace(“田中”, “タナカ”)

②保存は左上の「保存アイコンボタン」で保存が出来ます。

VBA 文字列の置換

③ファイル名を「〇〇.xlsm」として、ファイルの種類を「Excelマクロ有効ブック(*.xlsm)」とし「保存」をクリックし完了です。保存後は、開いているVBAウインドウを閉じても大丈夫です

VBA文字列置換

VBA 文字列置換ボタンの動作例

①下記はボタンをクリックする前のExcelの画面です。

ボタンをクリックすると・・・

VBA文字列置換

②VBAコードで指定したセルP2からの文字列””が削除されます。

VBA文字列置換

VBA 別シート セルの文字列置換

先ほど紹介したVBAコードは同じシートの場合のVBAコードになります。別シートの文字列を置換したい場合は下記のコードになります。

Dim sht As Worksheet
Set sht = Sheets(“test1”)
Call sht.Range(“P2:P41201”).Replace(“歳”, “”)

シート名<test1>を変数shtに格納し、sht.Rangeで別シートを呼び出す処理をしています。

まとめ Excel VBA 文字列置換

VBAでセルの文字列置換をするコードまとめです。

VBA セル操作 文字列置換
  1. マクロボタンの作成 ~ マクロ登録
  2. Moduleへコードを書く
  3. 文字列置換は  Call Range(“セル範囲”).Replace(“*”, “/”)
  4. 別シートの文字列置換も行なうことが出来る

VBAのボタン1つでセルの文字列操作が出来たら非常に便利です。拡張して便利なマクロボタンを作成しましょう!ほかにもこちらでVBA関連の記事を書きましたのでご覧ください。それではー!

Excel VBA セル コピー ペースト
Excel VBA講座② セル コピー&ペースト、クリア のVBAコードこんばんは!前回はマクロのボタンをクリックし、セルを選択したり、セルの移動を行なうVBAコードをご紹介しました。少しずつ積み重ねてExcel VBAマクロを極めていきたいと思います。今回は、セルのコピー&ペースト、クリアを行なうVBAコードをご紹介したいと思います。...
ABOUT ME
なお
フルスタックエンジニアを目指すサラリーマン。インフラ、WEBを中心に色んなIT関連情報に手を出したいと思います。
ブログランキング

COMMENT

メールアドレスが公開されることはありません。

CAPTCHA