- ベストアンサー
マクロ"today()"について
ボタンをクリックしてマクロを実行させます。 マクロの中に range("a1").value="today()" range("a2").value="クリック済み" と記述しています。その為クリックするとその「日付とクリック済み」が表示されますが後日ソフトを立ち上げるとクリックしないのに日付がその日その日に更新されます。この日付が更新されずにクリックした日付を表示させるためにはどのように記述したらよいでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>range("a1").value="today()" は間違いでしょう。 セルにはtoday()と言う文字列が入るだけです。 range("a1").value="=today()"とすると2004/1/24 が入りました。これは関数(演算)式がセットされています。ですからブックをオープンした時などに再計算して、オープンした日に変ります。 range("a1").value="=today()" は普通はRange("a4").Formula = "=today()"と書くと思いますが。 Range("a3").Value = Dateとすると 2004/1/24 が入りました。値(日付シリアル値)がセットされたのです。これはこのルーチンを後日実行するまでは変らないでしょう。
その他の回答 (2)
>クリックしないのに 読んでいませんでした。 一応ソース全文(短いでしょうから) 貼り付けてもらえますか?
補足
ありがとうございます。range("a1").value="today()" と記述していますのでマクロを実行したことでセルA1が「=TODAY()」となっていたためと判明しました。 クリックした日付を保持する良い方法がありますでしょうか。
当たり前です。 today関数はそれを実行した日を 取得する関数ですから。 もし何らかの手段をとりたいのであれば、 どこかのテキストファイル(ボックスじゃないよ) に保存しておいて それを読み込むとかしないと無理です。
補足
ボタンをクリックしないのにマクロが実行されるのでしょうか。
お礼
本当にありがとうございました。