• ベストアンサー

日報の日付について。。。

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

ほかの質問への回答から、もう少しいい方法がありました。 Sub sheet_name2() ActiveSheet.Name = Format(Range("a1"), "mmdd") End Sub これで、A1セルの値(平成17年9月7日)から「0907」というシート名に変更できます。 あと、手動でマクロを動かすのではなく、自動で入力時に変更するのか、保存時に変更するのかなどは、イベントを使うのでしょうが、またそこまでは手が届きません。 取りあえず追加のみ。

non-non-san
質問者

補足

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

その他の回答 (2)

回答No.2

取りあえず、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 あまり格好は良くないですが、一応できるのではないかと思います。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

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

non-non-san
質問者

補足

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

関連するQ&A

専門家に質問してみよう