次のコードは、一部のラップトップで問題なく動作し、次にタイプミスマッチでエラーが発生するものです。列AAには書式(mm/dd/yyyy)の日付が、列ABにはそれぞれ書式のタイム(hh:mm:ss)が付きます。 Now()から日付と時刻を差し引いています。私は本当に私のラップトップで正常に動作するため、問題のトラブルシューティングを行うことができません。他の人にとっては、それは誤りです。 CLng(CDate(Now()))
には値がありますが、他の2つは型の不一致を引き起こします。私はまた、2つの下の行、日付と時刻を連結した別のものを試してみた、そして行っCLNG(CDate関数(FMTがパブリック関数であるVBA 2010 - CDateタイプの不一致の問題
'If CLng(CDate(Now())) - CLng(CDate(Range("AA" & i).Value)) + CLng(CDate(Range("AB" & i).Value)) >= 7 Then
If CLng(CDate(Now())) - CLng(CDate(FMT(Range("AA" & i), "mm/dd/yyyy"))) + CLng(CDate(FMT(Range("AB" & i), "hh:mm:ss"))) >= 7 Then
:私は要求しています
Public Function FMT$(ByVal Value, ByVal strFormat)
FMT = VBA.Format$(Value, strFormat)
End Function
私同僚が私の地域の日付/時刻設定のスクリーンショットを送ってくれました。私はこれが事実かもしれないと思っていました。これに似た他の質問を読んだことがありますが、それを理解することはできません。
「日付」の時間部分は小数部です。時間だけを含む 'Date'に' CLng'を使うと、正午から丸められます。あなたは正確に何を計算しようとしていますか? – Comintern
列AAには、形式(mm/dd/yyyy)の日付が、列ABにはそれぞれの形式の時刻(hh:mm:ss)が入ります。 Now()から日時を引いてみたい。 CLngに関する情報をありがとう。最初は、日付と時刻を連結し、CLngを使用してくれました。しかし、他の人にとって、それは動作しませんでしたので、私はどのように連結したので、日付と時間を分割して何かが間違っているかもしれないと思った。しかし、そうではありませんでした。 – jmeddy
AAとABの列に日付と時刻がありますか、またはそれらの列に日付と時刻のような文字列がありますか? (セルの書式を 'General'に一時的に切り替えてセルに数字を表示すると、その内容は日時になりますが、日時のようなものを表示し続けると内容は文字列になります) – YowE3K