- ベストアンサー
Excell : 日付を設定するマクロの書き方
マクロの中で、今日の日付を設定する書き方を教えてください。例えば、セル A1に今日の日付を設定する。 A1に =today() を書くのではなくて、today()の返す値を設定するということになります。よろしくお願いします。 Sub test1() ............ End Sub
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Range("A1").Value = Now() ですか?
その他の回答 (5)
- WWolf
- ベストアンサー率26% (51/192)
Sub test() a = Date MsgBox a End Sub これでよろしいでしょうか?
- WWolf
- ベストアンサー率26% (51/192)
Sub test() a = Month(Now) & "月" & Day(Now) & "日" MsgBox a End Sub これでよろしいでしょうか?
お礼
回答ありがとうございます。
- maruru01
- ベストアンサー率51% (1179/2272)
No.2です。 間違えました。 ×Time ↓ ○Date
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルの関数とエクセルVBAの比較で、誤解があるのではないですか。 関数式は=TODAY()と入れると、ブックをオープン するごとに(ストップしておかない限り)再計算されて、当日の日付に変わります。 VBAでもWorkbookOpenなどのイベント・プロセジュアに入れておくとそうなる場合がありますが、そうでなければ、自動実行されることはありません。 実行しても Cells(i, j) = Date の左辺のセルを指定するi,jをその日にふさわしいセルに移動(指定)する(例えば前日書き込みの最終行の次行)ように考えてますので、前の回の日付には上書きしないようにします(出来ます)。 上書きしても良いケースも勿論あり得ます。 使う場合によります。 質問の題意の取り方が狂っている場合はご容赦を。
お礼
回答ありがとうございます。意図は、「セルにtoday()関数を設定する」のではなくて、「セルのtoday()関数の戻り値を設定する」ということでした。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 TODAY関数の代わりなら、Time関数の方かな。 Range("A1").Value = Time Now関数は、時刻付きなので、ワークシート関数のNOW関数と同じになります。 ま、Nowでも小数点以下を切り捨てれば同じですが。 Range("A1").Value = Int(Now)
お礼
回答ありがとうございます。
お礼
回答ありがとうございます。この方法で解決しました。