Excelでカレンダー



 ◇-?Excelでカレンダー-hachitaro-04/08-01:20(283)-No.474787
   ┗?!Re:Excelでカレンダー...-elm-04/09-03:03(258)-No.474834

▲このページのトップに戻る
474787Excelでカレンダーhachitaro 2009/04/08-01:20

メーカー名:自作PC 自分で製作
OS名:WindowsXp Professional
パソコン名:自作機
トラブル現象:ソフトの使い方がわからない
--
Excelで、1シートに1週間のカレンダー(予定表)を作りたいと思います。つまり、約48週分のシートが必要になります。
それを毎年作成したいので、できるだけ簡単に作成できるようにしたいと考えています。
理想は、1週目のシートに初日の年月日を入れると残りのシートにも自動で日付が入ると良いなと思っています。

(1)かつては、オートフィルで48週分の日付を入れてましたが、面倒な作業でした。

(2)DATE関数で週の最初の日付だけを入れるというのも試してみましたが、やはり、48週分は面倒です。

(3)調べているのですが、うまくいかないこととして、
1週目は、A1が4月1日だとすれば、A2は=A1+1、A3は=A2+1・・・と7日分作成しました。
次に1週目のシートをコピーして2週目を作成し、A1に=1週目!A1+7、同じく、A2は=A1+1、A3は=A2+1・・
と7日分作成し、2週目まではうまくいきました。

しかし、次に、2週目のシートをコピーして、3週目のシートを作成しても参照先は、1週目(絶対参照)になり、
まるっきり2週目と同じものになってしまいます。
一つ前のシートのA1の年月日を参照してコピーができれば良いのですが、どうすればできるのでしょうか?

話しがまとまらなくなりましたが、上記の方法以外でなくてもいいので、何か簡単に週カレンダーができるアイディアがありましたら、
教えていただきたいと思います。


▲このページのトップに戻る
474834Re:Excelでカレンダーelm 2009/04/09-03:03

記事番号474787へのコメント
hachitaroさんは No.474787「Excelでカレンダー」で書きました。

マクロを使用してはどうでしょう?
1週目のシートのA1に日付を入力して、下記マクロを実行
(予めA列の書式は日付の表示形式を設定しておく)

Sub カレンダー作成()
Dim x As Integer
Dim y As Integer
Dim z As Integer
For y = 1 To 47
ActiveSheet.Name = Format(y & "週")
Range("A2").Activate
For x = 1 To 6
ActiveCell.Value = Range("A1") + x
ActiveCell.Offset(1, 0).Activate
Next x
Worksheets(y & "週").Copy After:=Worksheets(y & "週")
ActiveSheet.Name = Format(y + 1 & "週")
Range("A1").Activate
For z = 7 To 13
ActiveCell.Value = Range("A1") + z
ActiveCell.Offset(1, 0).Activate
Next z
Next y
End Sub

6〜10行は1週目のシートに「1週」と名前を付けて、2日目以降の日付を入力。
12行〜は1週目シートをコピーして、「2週」と名前を付けて日付を入力。
これを47回繰り返して、48週分のシートを作ります。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言
検索投稿あり2009/05/06-10:57左記[投稿あり]クリックにて検索(逆リンク調査)します同様の質問へのリンクとなっています