• ベストアンサー

日付け関数について

日付関数において大小を比較したいのですが、以下のように記述しましたが 認識しません、記述例を教えて下さい、 セルA1に =today() と記載 A2に =DATE(2004,1,1) と記載、 VBAif関数にて、 =if range("A1").select >= range("A2").select then ・・・・・・・・・・と記載しています、

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1に既に回答が出ていますが、その他少し書いてみます。 本日を2002年10月21日とします。 A1に=today()を入れると、2002/10/21となり、A2に =DATE(2004,1,1)と入れると2004/4/1となります。 A1をコピーし、B1をポイントして「編集-形式を選択して貼り付け-値」をしてみると、B1は37550という、日付けシリアル値になります。A1の値(Range("a1").value略してRange("a1"))は37550なんです。 同じくA2の値をB2に値のみ複写すると37987です。 これを比較する(日付けの前後を考える)のですから、 IF Range("a1") >= Range("a2") then End Ifまたは IF Range("a1").Value >= Range("a2").Value then End If にすることになります。 ・Ifの前の=は不要です。 ・Ifは関数でなくステートメントです。勿論エクセルの  関数にIfはありますが、それとは別です。  ・Selectはメソッドですが、セルの値を問題にする時はValueプロパティで参照します。

hoshi7777
質問者

お礼

有り難うございました、正常に動作しました、

その他の回答 (1)

回答No.1

if range("A1").value >= range("A2").value then にしてみてください。

hoshi7777
質問者

お礼

有り難うございました、正常に動作しました、

関連するQ&A