1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

VBA での日付比較

Microsoft Visual Basic for Applications での日付の比較は、他のデータ型の比較と同じです。比較する値は「日付」タイプである必要があります。標準の比較演算子を使用できます。 「<=」は「以下」を意味します。 ">" は「より大きい」を意味します。 ">="「以上」の場合。 「等しい」の場合は「=」;および「<>」は「等しくない」を表します。 「Is」と「IsNot」という 2 つの比較演算子を使用することもできます。

VBA 日付タイプ

日付を比較するときに、VBA が日付値をメモリに格納する方法を覚えておくと役に立ちます。日付は、倍精度浮動小数点数または Double として格納されます。長整数部分は、1899 年 12 月 30 日からの正または負の日数です。小数部分は、午前 0 時からの経過時間です。時刻のない日付の小数部分はゼロに設定されています。たとえば、1967 年 5 月 1 日は 24593.0 として格納されます。これは、VBA が 2 つの日付を比較するとき、実際には日を表す 2 つの数値を比較していることを意味します。

文字列 vs.日付

VBA で日付を比較するときは、比較する値が「日付」型であり、文字列ではないことを確認する必要があります。たとえば、文字列 "05/01/1999" は、文字列 "12/31/1900" よりも小さくなります。これは、"05" が "12" の前にあるためです。 「CDate(TextBox.Value)」などの「CDate」関数を使用して、文字列を日付型に変換します。

便利な機能

CDate() に加えて、日付を比較するときに使用できる便利な関数が他にもあります。 「Date()」関数は、今日の日付を Date 値として提供します。 「Now()」関数は、今日の日付と時刻を Date 値として提供します。日付データ型には時刻コンポーネントも含まれるため、「提出の場合> DateValue(deadline) Then ...」のように、「DateValue()」関数を使用して日付を比較するときに、変数の日付部分のみを抽出できます。

日付演算

日付は 1899 年 12 月 30 日からの日数として格納されるため、VBA で日付を比較するときに日付演算を含めることができます。たとえば、チケットの有効期限が購入から 3 日後に切れる場合、次のような VBA コードで期限切れのチケットを確認できます。

Public Function expired(purchase as Date) As Boolean expired =False If purchase+3> Date() Then expired =True End If End Function