
このコラムでは毎回、パソコンを使った操作が「楽々」になるチップスを
Windows・Excel・PowerPointなどのテーマから選んでお届けいたします。
チップスとは「ちょっとしたヒント」のことです。
さて第28回はExcelで「セルの値をシート名にするマクロを作って楽する方法」をご案内します。
セルの値とシート名が連動したら便利なのにと思いませんか?「当月用シートを作るためにコピーした、前月シートのワークシート見出しの変更が面倒」「各店舗のシートを作成してワークシート見出しへすべての店舗の名称を当てはめるのが面倒、既にセルへ入力してあるので一遍に作業出来たら便利なのに」など、ワークシート見出しの名前の変更操作でお困りの方も多いのではないでしょうか。
そこで今回は、小さなマクロを使えるようになって、セルの値とワークシート名を自動的に一致させられるようにしましょう。
今回ご紹介するワークシート見出しの操作はこちら。
1.1枚のワークシートでセルに入力した値をワークシート名で利用する
2. 複数枚のワークシートで固有のセルの値をワークシート名へ反映する
なお、今回マクロに初めてチャレンジするという方はまず、こちらの記事のマスターをおすすめします。前回のマクロ記事をすでにお読みいただいた方で、忘れたという方もぜひこちらの振り返りをなさってみてください。
【楽々チップス】 第16回 今話題の自動化へ初めての一歩! Excelマクロで楽々
・マクロ開発機能をオン(すでにオン済みの方は1.~4.の操作不要)
1.[ファイル]-([その他])-[オプション]
2.[リボンのユーザー設定] –[基本的なコマンド-[メインタブ]-[開発]チェックをオン
3.[OK]
4.[開発]タブが表示されたことを確認
・マクロ有効ブックとして保存 (マクロを作成する際はうっかり保存忘れをしないように最初にマクロ有効ブックとしてエクスポートしておきましょう。)
5.[ファイル]-[エクスポート]
6.[ファイルの種類の変更]
7.[マクロ有効ブック(*.xlsm)
8.[名前を付けて保存]
9.任意の場所へ任意の名前を付けて保存
・VBEを開いてモジュールを作成する
10.[開発]タブ
11.[Visual Basic]ボタン
12.[挿入]メニュー-[標準モジュール]
13.[オブジェクト名]に任意のオブジェクト名を入力 (例:SheetName)
14.コードウィンドウへコードを入力
Sub SheetName1()
ActiveSheet.Name = ActiveSheet.Range("任意のセル番地")
End Sub
・マクロを実行して検証する
15.[開発]タブ
16.[マクロ]ボタン
17.作成したマクロ名を選択して[実行]
18.指定したセル名がワークシート名へ反映されたことを確認
19.必要に応じてフォームコントロールボタンやショートカットキーへマクロを登録
■複数枚のワークシートで固有のセルの値をワークシート名へ反映する
(ここからは前述の1~9を完了した状態で始めます。)
・VBEを開いてモジュールを作成する
10.[開発]タブ
11.[Visual Basic]ボタン
12.[挿入]メニュー-[標準モジュール]
13.[オブジェクト名]に任意のオブジェクト名を入力 (例:SheetName)
14.コードウィンドウへコードを入力
Sub SheetName2()
Dim mysheet As Worksheet
On Error Resume Next
For Each mysheet In Worksheets
mysheet.Name = mysheet.Range("G2").Value
Next
End Sub
・マクロを実行して検証する
15.[開発]タブ
16.[マクロ]ボタン
17.作成したマクロ名を選択して[実行]
18.指定したセル名が複数のワークシート名で反映されたことを確認
19.必要に応じてフォームコントロールボタンやショートカットキーへマクロを登録
以上今回は、Excelでセルの値をワークシート見出しへ自動的に反映して楽する方法をテーマに、お届けしました。前回は今回とは逆に、ワークシート見出しをセルへ自動的に入力する関数を取り上げました。どちらが便利かケースバイケースでしょう。
「他にもこんなことできたらいいな?」のリクエストやご感想がございましたらぜひ、お問い合わせまでお知らせください。それでは次回までごきげんようお過ごしくださいませ。
■プロフィール

MS技術情報担当 井殿 寿代
研修プロセスデザイナー。 1996年~ 毎年数千人以上の企業研修の現場とコンサルティングをデザイン。惜しみなく現場のノウハウを伝える。
(企業研修設計・教育コンテンツ制作/Microsoft365・Teams導入支援/Office製品全般研修講師)