文字の置換をエクセルVBAでやる方法

エクセルVBAデータの操作

スポンサーリンク


目次

エクセルの【検索と置換】機能って面倒じゃない?

エクセルVBAを使って作成した住所録のデータを使ってイベント参加者をリストアップした時に感じたことですが、元々の住所録リストには「男」「女」としている部分を「男性」「女性」に置き換え用とした時の事です。

皆さんにお配りする参加者リストなので「男」より「男性」の方がいいですよね。

今さら住所録を修正するのも大変な作業なので参加者に配布するエクセルの文字を置き換えられないか?

[検索と置換]ダイアログボックス

エクセルの標準機能に置換があります。1回きりとか時々ならばわざわざエクセルVBAでやらなくてもいいでしょう。

ただ今回作りたいエクセルは、参加するたびに回数を集計したり男女別に分けて集計したデータを使おうと考えているので、イベント開催の度にこの置換作業をするのも面倒かな?

どうせならばエクセルVBAで参加者全員入力終わったらコマンドボタンを押したら、自動的に参加者リストは男女が男性・女性に考えたほど難しくはありませんでした。

Replaceで一発置換

エクセルVBA住所録4スポンサーリンク



上の表を参考にすると、セルD2~D5に性別が入力されているので「男」を「男性」と「1」へ「女」を「女性」と「2」へそれぞれ置換します。

検索方法は2種類あって「完全一致」は【xlWhole】、「部分一致」は【xlPart】です。

ここでは住所録リストからデータを用いるので、完全一致のxlWholeを使います。

Private Sub CommandButton1_Click()
With Range(“D2:D200″)
.Replace What:=”男”, Replacement:=”男性”, LookAt:=xlWhole
.Replace What:=”女”, Replacement:=”女性”, LookAt:=xlWhole
End With
End Sub

  1. コマンドボタン(CommandButton1)を押したら
  2. Withステートメント開始
  3. 置換する範囲をD2からD200に指定
  4. “男”表記を見つけたら、”男性”に置き換える、検索は完全一致
  5. “女”表記を見つけたら、”女性”に置き換える、検索は完全一致
  6. Withステートメント終了
  7. 終了

これでD列に入力されていた性別「男・女」が「男性・女性に」置き換えられました。

とても簡単にできましたね。

Replace(置換)
引数 内容
What 検索する文字
Replacement 置換する文字
LookAt 完全一致【xlWhole】・部分一致【xlPart】
波乗りアヒル
波乗りアヒル

ご覧いただきありがとうございます。

ブログランキングに登録しています。

少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。


Microsoft Officeランキング

ユーザーフォームを使えばこんなに便利に早く作業が終わりますよ
あわせて読みたい
エクセルVBAで住所録入力フォームを作る方法 数百人規模の中規模の住所録や顧客データをエクセルで管理している事業所って意外と多いですが、データを検索して修正するのってすごく面倒じゃないですか? 面倒だなあ...
あわせて読みたい
ユーザーフォームでオリジナル入力画面を作る エクセルのデータ入力・検索・修正作業ってとても面倒で時間と手間がかかりませんか? この作業を簡単に素早く終わらせたくないですか? エクセル使うなら今話題の時短...
とりっぷぼうる
エクセル関数とVBAで和暦西暦対応カレンダー作成 | とりっぷぼうる エクセル関数を基本として作成し、ユーザーフォームで日付選択ができるようにすることで複雑なマクロが分からなくても、自由にカスタマイズして自分のエクセルに組み込んで...
あわせて読みたい
Excel-VBAもくじ~エクセルの作業時間を半減させる方法 【コピペOK】このExcel-VBAページに掲載している内容・VBAコードが、少しでもお役に立てるのであればコピーして使っていただいて構いません。 たった1秒で完了!驚異の...
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?

目次