エクセルを使ってスケジュール帳を作ろうとしています。自作の枠と印刷テストはバッチリ完了しました。しかし問題があり365回手動で日にちを変えなければいけないので印刷設定をしなくてはならないので大変です。いい方法は無いでしょうか?あれば具体的な手順を教えていただけると幸いです。

回答の条件
  • 1人2回まで
  • 登録:2006/12/31 01:02:12
  • 終了:2006/12/31 19:42:31

回答(3件)

id:hamster009 No.1

hamster009回答回数3431ベストアンサー獲得回数502006/12/31 01:53:03

ポイント4pt

excellテンプレート使えそうでしょうか。

日付なしのに自動でカレンダーどおりの日付を入れるのはなかなかむつかしいと思います。

2007年版の日付ありのテンプレートです。

http://www.templatebank.com/refillbox/

id:huruta

ありがとうございます。テンプレートではだめです。私のデザインした私のための枠があるのでそれを使用したいと思っています。

2006/12/31 01:54:55
id:hamster009 No.2

hamster009回答回数3431ベストアンサー獲得回数502006/12/31 02:30:14

ポイント6pt

perlとかsedでできるでしょうねぇ。1-30をふるだけだったら。勉強するしかないですねぇ。http://end

id:huruta

なるほど。了解しました。

2006/12/31 02:46:06
id:Mook No.3

Mook回答回数1312ベストアンサー獲得回数3912006/12/31 08:38:43

ポイント70pt

VBA でシートの日付を変更しながら1年分印刷する例です。

シートのタブを右クリックし、「コードの表示」を選択右側の大きなウィンドウへ下記をコピーします。

(変更範囲や色を変える場合は赤い部分を編集してください。)


「ツール」⇒「マクロ」⇒「マクロ」から printScheduleを選んで実行すると、処理がされます。

Const dateRange = "A1"
Sub printSchedule()
    Dim day As Integer
    For i = 0 To 364
        Range(dateRange).Value = Range(dateRange).Value + i
        Worksheets(1).PrintOut
    Next
End Sub

日付を入力してあるセルの位置を赤い部分で指定してください。上記はA1セルになっています。


出力する最初の日にちを実際のシートで設定し、印刷する日数を青い部分で指定してください。

上記は1年分になっているので、3日くらいで試験してみてください。


印刷開始日は設定されている日付になるので、御注意ください。

複数日付を入力する場所がある場合は、コードの変更が必要です。

id:huruta

詳しいご指導ありがとうございます。やってみます。

2006/12/31 19:42:11
  • id:Mook
    試してみてから終了いただければよかったですが、コードにバグがありました。

    Range(dateRange).Value = Range(dateRange).Value + i

    Range(dateRange).Value = Range(dateRange).Value + 1
    にしてください(i ⇒ 1)。

    これは日付の部分が、日付書式になっていることを前提にしています。
    1ページの構成のサンプルがあれば、適切なコードを例示できたのですが、情報がなかったので、基本方針のみで失礼しました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません