日付の列があります。これらは、行内の他のデータとともに、行ごとに 1 つずつオブジェクトに組み込まれます。
ただし、日付列の一部のセルは空です。テストとして、日付変数を作成し、その値を空のセルの値として設定します。日付の新しい値をメッセージボックスで確認したところ、「午前 12 時」であることがわかりました。この値を表す定数が VBA に組み込まれているので、次のようなテストを実行できます。
If myDate = vbNullDate Then
日付の列があります。これらは、行内の他のデータとともに、行ごとに 1 つずつオブジェクトに組み込まれます。
ただし、日付列の一部のセルは空です。テストとして、日付変数を作成し、その値を空のセルの値として設定します。日付の新しい値をメッセージボックスで確認したところ、「午前 12 時」であることがわかりました。この値を表す定数が VBA に組み込まれているので、次のようなテストを実行できます。
If myDate = vbNullDate Then
私は時々この問題に遭遇します。私は通常、以下を行います。
dim d as date
if d = cdate(0) then msgbox "Default value"
ローカルの Date 変数のデフォルト値は次のようです。
Saturday, December 30, 1899 12:00:00 AM
この手順に基づいて:
Sub testdate()
Dim d As Date
Debug.Print Format$(d, "Long Date") & " " & Format$(d, "Long Time")
End Sub
任意の変数タイプのデフォルト値を確認するには、そのタイプの変数を宣言してから、その値を出力します。
Sub testint()
Dim d As Integer
Debug.Print d
End Sub
andy holadayが質問の下のコメントで言ったように、日付のデフォルト値は単に0です。愚かな私:/