プロが教える店舗&オフィスのセキュリティ対策術

1月というシート名と、2月というシート名があります。
2月のシートのセルB1には、='1月'!A1という式が入っています。

月が3月に変わった時に、2月のシートをコピーして、
シート名を3月と書き換えると、3月のシートのセルB1の式が
='2月'!A1と自動でなるようにしたいのです。

VBAを使わずに実現できる方法が有りますか?

3月のシートのセルB1の式を='2月'!A1に自動で変えたいと
言いましたが、実際には

='(シート名の数字を取得-1)月'!A1

といった数式にしたいのですが、可能でしょうか?

A 回答 (1件)

cell関数を使えば簡単です。



=cell("filename", $A$1)
とすると、「ディレクトリ[ファイル名]シート名」の形式でファイ
ル名が返ってきますので、"]"より後ろがシート名なわけです。する
と自分のシート名を取り出すには

=mid(cell("filename", $A$1),find("]",cell("filename", $A$1), 1)+1,99)

とすればいいと判りますね。今回は最後の99は3でもいいです。これ
をたとえばE1に書いておいたとしますと、B1には

=indirect(left($E$1,len($E$1)-1)-1&"月!$a$1")

でオッケー。
    • good
    • 0
この回答へのお礼

出来ました。
いつも半信半疑で質問するのですが、
毎回すばらしい回答をして下さる人がたくさんいてすごいです。
回答ありがとうございました。

お礼日時:2007/02/28 10:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!