• ベストアンサー

Excelでヘッダに前日の日付を表示したい!

題名の通りですが、Excelでヘッダに昨日の日付を表示させたいのですが、分りません。今日の日付は簡単なのですが・・・・どなたか分る方いらっしゃいましたらお教えください!

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

>前日の日付13:00~本日の日付13:00時点 つまり、13時までは前日の日付ということでしょうか。 それなら、コードを以下のように変更します。 Private Sub Workbook_BeforePrint(Cancel As Boolean)   Dim temp As Date   If Time >= TimeSerial(13, 0, 0) Then     temp = Date   Else     temp = Date - 1   End If   ActiveSheet.PageSetup.RightHeader = Format(temp, "yyyy/m/d") End Sub

Mac_t
質問者

お礼

いろいろありがとうございました。 お教え頂いた方法で何とかやって見ます! 本当に感謝しています!

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

ページ設定-ヘッダーで今日が2003/6/25日として、&[2003/6/24と人間が入れるのではダメですか。別の日になると、その前日を自動で出て欲しいのでしょうか。 エクセルでは、シートの上部のセルの1つを日付けセルとして使えば(=TODAY()-1)済むような気もしますが、やはりヘッダーでないとだめですか。

Mac_t
質問者

お礼

アドバイスありがとうございます。 確かにセルを日付設定用にすることも考えましたが、日付表示を表の真中にしたいのと、表自体マクロで作成するので日によって幅が違うため、表示位置が変わるので諦めました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 おそらくマクロ(VBA)でないと無理だと思います。 VBAの記述方法は以下のページを参照して下さい。 http://www2.odn.ne.jp/excel/waza/print.html#TOC9 ただし、コードの内容を以下のように変更します。 Private Sub Workbook_BeforePrint(Cancel As Boolean)   ActiveSheet.PageSetup.RightHeader = Format(Date - 1, "yyyy/m/d") End Sub なおFormat関数で様々な表示形式が出来ます。 例えば、 Format(Date - 1, "ggge年m月d日") とすれば和暦表示出来ます。 (参考URLにも載っています。)

参考URL:
http://www2.odn.ne.jp/excel/waza/print.html#TOC9
Mac_t
質問者

補足

ありがとうございます。ついでといっては何なんですが、表示したかった本当の表示は 「前日の日付13:00~本日の日付13:00時点」 なのですが、教えていただいた方法に追加しないと表示されません。ただいま悪戦苦闘しているのですが、何か良いヒントはありますでしょうか? ずうずうしくて済みません。本当に助かっています!

  • shy00
  • ベストアンサー率34% (2081/5977)
回答No.1

ヘッダは&[日付]にし、パソコンの日付を変更する という手ではどうでしょうか?(^^;

Mac_t
質問者

お礼

回答ありがとうございます。 ただ、毎回システム日付を変更するなら、都度ヘッダに日付を入力した方が速いので・・・・ 私もそれは考えたのですが、辞めました。

関連するQ&A