【Excelテクニック】シート名の置換

こんにちは。Nakaiです。
昨日は成人の日でしたね。
成人の皆様おめでとうございます。
今年からは成年年齢が18歳に引き下げられますね。
高校生で成人になるということですが、自分の高校時代を思い出すと、まだまだ子供だったなぁと思います。。
さて、皆様Excelの置換機能はご存じですか?
「営業所」と書いてある部分を、全て「支店」に変えなければいけなくなったという場合、置換機能を使うと簡単です。
ホームタブから、検索と選択→置換を選択です。
オプションをクリックすると、検索場所などの詳細が指定できます。
選択したシートの中での置換であれば、下記であっという間に置換できます。

機能を知らなければ、1つ1つ手入力で直さないといけないので、膨大な時間のロスになります。
ワークシート上の文字列はこのように簡単に置換できますが、シートの名前をまとめて変更したいときには、残念ながら置換機能が利用できません。

このように、「Project」から始まっているシート名を「プロジェクト」に変更したいという場合、全てのシートを手入力で直さないといけません。
シート数が多くて面倒・・
こんなときは、Excel-VBAの出番です。
Sub midasi_change()
Dim ws As Worksheet・・・1
For Each ws In Worksheets・・・2
ws.Name = Replace(ws.Name, “Project”, “プロジェクト”)・・・3
Next・・・4
End Sub
1 Worksheet型の変数「ws」を宣言します。
2 変数「ws」にファイル内のワークシートを順番に代入して、次の処理を繰り返します。
3 変数「ws」のシート名の中のProjectをプロジェクトに置換して、シート名を変更します
4 処理を2番に戻します
という流れです。
VBAの利用経験がある方は、Projectシートをいくつか作成し、ぜひ標準モジュールに上記のコードをコピペして実行してみてください。
やっぱりVBAって便利ですね。
今回は、「Project」を「プロジェクト」に変更するコードをご紹介しましたが、例えば、シート名を随時任意の文字列に置換することも可能です。
その場合は、「変更したいシート名を入力してください」と入力ができるメッセージを表示させます。
次回ご説明しますので、ぜひここまでは実行してみてくださいね。
夢を叶えるキャリアアップスクール パソコン教室ISA船橋FACE校
「すべては受講生のために」をモットーに、ビジネスに必要なパソコンスキルから
就転職に向けてのパソコン資格の取得まで個別授業を行っています。
是非お気軽にご来校ください。
住所:千葉県船橋市本町1丁目3-1 FACEビル12F
連絡先:TEL: 047-424-3544
Mail: isa_funabashi@isa-school.co.jp
授業時間
月~木 10:30~20:30
金~日 10:00~17:00