この記事は、Microsoft MVP の Raddini Rahayu によって書かれました。
ケース
毎週の販売活動レポートを次に示します。 たとえば、この場合は 15 人です。 管理者レポートである Nancy には、各売上データを 1 つのファイルにまとめ、すべての売上が各シートで区切られた 1 つのファイルが割り当てられます。 データを簡単に配置するために、Nancy が指定した各シートは、そのシートの販売名と一致します。 最初は、Nancy はこれに慣れていましたが、データが増え、迅速な処理が必要になるにつれて、Nancy は非常に圧倒されました。 これを克服するために、Nancy は、手動で名前を変更せずに、各シートの販売名に従って自動的に変更されたシートに名前を付けたいと考えています。
ソリューション
Nancy の問題を克服するための最良の解決策は、マクロを使用することです。 このマクロは、シート数に関係なく、そのファイル内のシートごとに設計されています。 各シートの名前は、各シートの同じ場所で決定された販売名に応じて変更されます。
実行方法
最初の手順
レポート形式を設計し、販売名を配置するセルの場所を指定します。 この場合、位置はセル J2 にあります。 このレポート形式は、各シートで同じである必要があります。
シート名は既定の名前 (Sheet1、Sheet2、Sheet3 など) のままにします。
最後の手順
マクロコーディングステップ
販売名が配置されるセルの場所がわかったら、次の手順であるマクロ コーディングを続行できます。
[ 開発者 ] タブで、[コード] カテゴリで [Visual Basic ] を選択するか、キーボードでキーの組み合わせ Alt + F11 キーを押すと、Visual Basic ウィンドウが表示されます。
プロジェクト作業ウィンドウで [(ブック名)] をクリックし、[ 挿入 ] メニューの [ モジュール ] を選択し、次のスクリプトを記述します。
Sub RenameSheet() Dim rs As Worksheet For Each rs In Sheets rs.Name = rs.Range("B5") Next rs End Sub
デバッグがない場合は、キーボードの F5 キーを押して Visual Basic ウィンドウを閉じ、Excel に戻ります。 デバッグが行われる場合は、スクリプトをチェックします。
Excel に戻り、コードが正しい場合の動作を確認します。各シートの名前は、各シートの既存の販売名に従って名前が変更されます。
これで終わりです。 うまくいけば便利です。
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。