- ベストアンサー
セルのデータをマクロでシート名に反映させる方法は?
大変お世話になります。 Excelのセルに入力したデータをシート名に反映させたいのですが、 前回、QNo.3861407にて質問させてもらった時の回答は、 セルに入力するシートでしか反映されなかったのです。 それを、Sheet1に記載したデータをSheet2のシート名にも 反映させることは出来ますでしょうか? 下記式のActiveSheet.Name の部分をSheets(Sheet2).Select としてみたり、 色々調べて試してみたのですがうまくいきません。 前回にご回答頂いたマクロは下記の式です。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then ActiveSheet.Name = Range("A2").Value & "年度休日" End Sub 上記式だと、 そのシート自体のA2に入力してエンターを押せば、 シート名も反映されて変わるのですが、 変更したいシートが2枚ある為、 その2枚を同時に変更する方法を知りたいのです。 詳しく説明すると、 勤怠表を作成する際、 別シートに休日カレンダーを作り、 勤怠表に休日が反映されるようにしているのですが、 休日カレンダーが正社員用と契約社員用の2枚あり、 その休日カレンダーの一方のシート(シート名「正 2007年度休日」)の A2に2007と入れたときに、 もう一方のシート(シート名「契 2007年度休日」)も一緒に 変更することは可能でしょうか? 契約社員用のほうは「正 ~」のA2をリンクさせて 「契 ~」のA2に2007と年数が入るようにしているので A2セルは「正 ~」のシートのA2の年数を 2007と書き換えると「契 ~」のシートのA2も変わるのですが、 上記のマクロだと、「契 2007年休日」のシート上のA2をダブルクリックして 再計算させないと、「契 ~」のシート名が変わりません。 これを、「正 ~」のシートのA2を書き換えた時点で 「契 ~」のシート名も変えることは出来ますでしょうか? 分かる方、お教え下さい。宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
お礼
お礼が遅くなり申し訳ありません。 上記のマクロ式で出来ました。 分かりにくい説明文でありながら、ご理解頂き恐縮です。 本当にありがとうございました。 また何かありましたら宜しくお願い致します。