- ベストアンサー
エクセルVBAで日付を・・・
VBAの初心者なんですけど、ワークシート関数のtoday()と同じ働きを持つVBAってありませんか? ただ、例えば、 Range("A1").value="=today()" 以外のものでお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Range("A1").Value = Date では?
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >ワークシート関数のtoday()と同じ働きを持つVBAってありませんか? Date 関数が似ていますが、値を返すだけです。 そして、VBAでは、ワークシートに、日付/時間データを送り込む時は、ついでに、書式も送ります。 Sub TestSendDate() Range("A1").NumberFormatLocal = "yy/mm/dd" Range("A1").Value = Date End Sub 送り込まれるデータは、日付型のデータです。 Range("A1").Value = "=TODAY()" Range("A1").Value = Range("A1").Value とすれば、Date を送ったのと同じ結果になります。 また、 Range("A1").Formula = "=TODAY()" '.Valueプロパティか、Formulaプロパティか? 数式として、その文字列が全うしているなら、.Valueプロパティでも同じです。ワークシート上のキャスティングで、数式に変換されます。ただ、若干、ワークシートのキャスティングのために、コードが遅くなるはずです。 通常は問題ないのですが、FormualLocalのほうが、そのPCのコントロールパネルの地域設定に従うはずです。具体的には、日付設定などがあります。
お礼
ありがとうございました。私は初心者なので、大変勉強になります。実際やってみたらできました!!。
- zap35
- ベストアンサー率44% (1383/3079)
回答は出ていますが、セルに式を埋め込む場合はvalueプロパティではなくFormulaプロパティになります Range("a1").Formula="=today()"
お礼
ありがとうございます。大変たすかりました!
お礼
ありがとうございます。それだけでよかったんですね。ちょっと難しく考えてました。