• ベストアンサー

セルに印刷日時を残したい

セルに印刷日時を残したいですが、どのようにすれば残せますでしょうか。 *エクセル2013を使用しています。 *クイックアクセスバーにクイック印刷のボタンを出してそこから印刷しています。 *印刷度に更新ではなく、印刷度に下部セルへ記載したい。(Q2以下) *印刷範囲内に表示ではなく、印刷範囲外に残したい(Qは範囲外です)。 Worksheet_BeforePrintで設定するのか標準モジュールでPrintOutを判別するのか・・・ 等の考えはあるのですが、BeforePrintで単純にQ2にNow()としても反応していない現状です。 ご教授のほどよろしくお願い致します。

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

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.3

たぶん、Cancel As Boolean を書いていないのが原因かと。

quindecillion
質問者

お礼

プリントで行うといちいち印刷してしまうので保存で動かしてみ見たところ、下記のコードで自己解決じました。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Cells(2, 17) = "" Then Cells(2, 17).Value = Now() Else Cells(Rows.Count, 17).End(xlUp).Offset(1, 0) = Now() End If End Sub ご協力ありがとうございました。

quindecillion
質問者

補足

連絡が遅くなり申し分けありません。無事動きました。 *印刷度に更新ではなく、印刷度に下部セルへ記載したい こちらの部分はどのようになるのでしょうか? if cells(2,17)=""then cells(2,17)=Now() else ??? end if として???の部分に 空白時はQ2に現時刻を、空白でない時はQ3へ、Q3も埋まっていればQ4へと「Range("Q2").End(xlDown).Offset(1, 0)」みたいな形で入れるのでしょうか? 今一度お力をお貸しください。

その他の回答 (2)

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

BeforePrintでの場合、コードはどこに書かれてますか? 各シートに書いているのでしたら、ThisWorkbookに書くとうまくいくと思いますが。 Private Sub Workbook_BeforePrint(Cancel As Boolean) Cells(2, 17).Value = Now() End Sub

quindecillion
質問者

お礼

ご回答ありがとうございます。

quindecillion
質問者

補足

ThisWorkbookにPrivate Sub Workbook_BeforePrint() Cells(2, 17)= Now() End Sub と記載していたのですが印刷時に動いていませんでした。 .valueを省略していたのが原因でしょうか?

  • dondoko4
  • ベストアンサー率12% (1161/9671)
回答No.1

プリンター側で設定します。

quindecillion
質問者

お礼

回答ありがとうございます。 今後は具体的な方法を記載して頂きますようお願い致します。

quindecillion
質問者

補足

プリンター側で設定してエクセルのセルに印刷日時を表示できる方法が有るのでしょうか? 初耳でビックリです。 是非詳しい方法をご教授願います。

関連するQ&A