- 締切済み
今日の日付をマクロ可したい
Excel2007を使用しています。 見積書を請求書を仕事で毎回作成しているのですが今日の日付をマクロ可したいと思います。 A11のセルに日付を入力するとC1のセルに今日の日付が入力されるにはどのようなマクロを作成したら良いのでしょうか。 誠に恐縮ですが、ご指導・ご鞭撻の程よろしくお願いします。早々
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ok2007
- ベストアンサー率57% (1219/2120)
次のコードをシートモジュールに格納して、ブックを保存してください。エクセルが日付と認識できるデータをA11セルに入力すれば、C1セルに入力日が記入されると思います。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$11" Then Exit Sub If Not IsDate(Target.Value) Then Exit Sub Range("C1") = Date End Sub なお、シートをコピーすると、シートモジュールもそのシートにくっ付いてコピーされます。
- rivoisu
- ベストアンサー率36% (97/264)
なるほど Range("A11").Value = Now() または Dim 更新日 As Date 更新日 = Now() Range("A11").Value = 更新日 書式設定もマクロでするなら Range("A11")..NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"";@" で質問の趣旨にはお答えできたと思います。 この程度のことは「マクロの記録」を使えばすぐにわかることです。 質問の趣旨からは外れると思いますが Excelで「見積書」の雛形を作って見積りのたびにこれを呼び出して修正を加えて別の名前(”○○会社見積りNO1.xls")で保存する。 というのはよくあるしExcelの使い方として多く紹介されています ですが、その雛形にマクロを書き始めると結構大変なことになります。 このマクロを埋め込んで見積書の雛形ができます。 以後見積もりはこの雛形を使うにで問題ありません。 過去の見積書を引っ張り出して、修正を加えて新しく見積もりを作るときには このマクロは入ってないのでうっかりするとおかしな日付で出してしまうことになります。そのときは気づいても、その見積書はマクロの無いまま次の見積書の参考になったりするわけですから、結局問題は先送りです。 そのたびにこのマクロをコピーしておくというルールを作っても守られる保証もないし。マクロを含むbookの運用は充分検討しておく必要があると思います。
- rivoisu
- ベストアンサー率36% (97/264)
マクロにするまでもなくc1に”=now()”とすればOK A11のセルが空白のときは空白ということであれば =IF(a11="","",now())) あとC1のセルの書式を日付にする。
補足
メールでのご連絡有難うございました。 つきましては、お問い合わせの件についてですが保存した見積書又は請求書を後日開いたときに保存した日付として固定しておきたいのです。 今までToday関数で見積書又は請求書を保存していましたが後日開くと開いた日付になってしまいその都度保存した日付に訂正していました。 説明不足で失礼しました。 ご指導・ご鞭撻の程よろしくお願いします。早々