シート内のすべてのデータをバリアント配列にコピーしています。列1には次のようなタイムスタンプがあります。分範囲を比較するdatediff関数
木3月2日午前1時14分28秒ESTは2017
私は1分のタイムスパン内のすべての行を処理したいです。私は分の差異を見つけるためにdatediff関数を使用しています。しかし、何とかそれは期待どおりに動作していません。 ここにコードがあります。
For i = 1 To UBound(vBaseArray)
dSavedDate = convertDate(vBaseArray(i,1)) 'function to convert string to date
..... some code
For j = i To UBound(vBaseArray) 'function to convert string to date
If DateDiff("n", dSearchDate, dSavedDate) >= 1 And DateDiff("n", dSearchDate, dSavedDate) <= 2 Then
----some code
が、結果は期待 どおりではありませんdSavedDateは木3月2日の場合は1時14分28秒EST 2017その後、 文は、タイムスタンプ
木3月2日1時12分、次の私を返している場合:24 EST 2017
木3月2日午前1時12分44秒EST 2017
木3月2日午前1時12分40秒EST 2017
木3月2日午後12時47分12秒EST 2017
私はdSavedDate
の> = 1分、それは私が間違っているのことを何であるだろうタイムスタンプをしたいのに対し?
は、それは ' dSavedDate'の値が "Thu Mar 02 01:14:28 EST 2017"であるか、それとも 'vBaseArray(i、1)'の値ですか? 'dSavedDate'でなければ**は' dSavedDate'の値です**そして 'dSearchDate'の価値は何ですか?そしてあなたのコードにエラーを隠すかもしれない 'On Error'ステートメントがありますか? – YowE3K
はい、dSavedDateの値は03 Mar 02 01:14:28 EST 2017です。dSearchDateは、特定の基準内にある列1のすべてのタイムスタンプの値を持ちます。主に私が下で与えた4つの値。しかし明らかにそれらは正しくありません – Jay
もし 'dSavedDate'がThu Mar 02 01:14:28 EST 2017ならば' convertDate'はうまくいきませんでした。もし私があなたの他の質問の答えに見た関数なら、あなたが示したような価値ではなく、日付を返すこと。 – YowE3K