dポイントプレゼントキャンペーン実施中!

例えば今日の日付をA1のセルに2005年9月8日と入力しまして、シート名を050905と反映させたいのですがどうしたらいいのでしょうか?A1のセルは西暦でシート名は数字だけにしたいのですが。。。よろしくお願いします。

A 回答 (3件)

ほかの質問への回答から、もう少しいい方法がありました。




Sub sheet_name2()
ActiveSheet.Name = Format(Range("a1"), "mmdd")
End Sub

これで、A1セルの値(平成17年9月7日)から「0907」というシート名に変更できます。

あと、手動でマクロを動かすのではなく、自動で入力時に変更するのか、保存時に変更するのかなどは、イベントを使うのでしょうが、またそこまでは手が届きません。

取りあえず追加のみ。

この回答への補足

回答ありがとうございます。
A1セルの値(平成17年9月7日)から「050907」というシート名に変更できました。で、その後なのですが。。。
A1に2005/09/07と入力してカーソルがB1に移ったときに
シートが050907に変わるマクロを考えています。
よいマクロがあったらまた教えて頂きたいです。
よろしくお願いします。

補足日時:2005/09/08 14:56
    • good
    • 0

取りあえず、a2セルに「050908」と入力して、それを関数で、A1に日付形式で表示させます。

式は、
=DATE(100+LEFT(A5,2),MID(A5,3,2),RIGHT(A5,2))
です。

その上で、シート名変更のマクロを下記のように書きます。
Sub SheetNameChange()
   ActiveSheet.Name = Right(Range("a5"), 4)
End Sub

あまり格好は良くないですが、一応できるのではないかと思います。
    • good
    • 0

マクロを組むしかないですね。



逆ならシート名に050905と入力
A1=DATEVALUE("20"&TEXT(RIGHT(CELL("filename"),5)*1,"00""/""00""/""00"))
で表示形式を日付(1997年3月4日)にすれば反映します。
※新規ブックの場合、ファイルの保存が必要

この回答への補足

回答ありがとうございました。
早速実行してみましたが、シートをコピーしてシートに050910と入力するとコピー元の日付も2005年9月10日と表示され日付とシートが一致しません。。。
ちなみに、マクロを組むのはどのようにしたらよいのでしょうか?教えて下さい。よろしくお願いします。

補足日時:2005/09/08 11:29
    • good
    • 0

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