• ベストアンサー

エクセルVBAで日付を・・・

 VBAの初心者なんですけど、ワークシート関数のtoday()と同じ働きを持つVBAってありませんか?  ただ、例えば、 Range("A1").value="=today()" 以外のものでお願いします。

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

  • ベストアンサー
  • poohron
  • ベストアンサー率59% (574/971)
回答No.1

Range("A1").Value = Date では?

19760101
質問者

お礼

ありがとうございます。それだけでよかったんですね。ちょっと難しく考えてました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 >ワークシート関数の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のコントロールパネルの地域設定に従うはずです。具体的には、日付設定などがあります。

19760101
質問者

お礼

ありがとうございました。私は初心者なので、大変勉強になります。実際やってみたらできました!!。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

回答は出ていますが、セルに式を埋め込む場合はvalueプロパティではなくFormulaプロパティになります  Range("a1").Formula="=today()"

19760101
質問者

お礼

ありがとうございます。大変たすかりました!

関連するQ&A