2015-07-21 164 views
-4

我想要一個vba代碼來比較系統日期和我在excel工作表中的行(A)中提到的日期。如果日期相等,那麼它應該比較系統時間和行(B)中提到的時間。例如:如果工作表中提到的時間是晚上7點30分,系統時間是下午7點,則應計算時間和顯示之間的時間。如果工作表中的日期不匹配,則應該離開。Excel VBA代碼來比較系統日期和工作表中的日期

在此先感謝。

+2

你嘗試過什麼嗎?粘貼您的代碼嘗試,以便我們可以幫助您。 –

+0

您希望比較什麼樣的準確度?可能是幾秒或幾分鐘。 –

+0

感謝您的回覆。我應該顯示幾小時和幾分鐘。 – user1089660

回答

0

我放了一個小程序,讓你開始。它假定工作表中的日期/時間位於單元格A1中。如果系統日期與單元格A1中的日期相同,則系統時間將與單元格A1中的時間進行比較。如果他們在一分鐘內一樣,那麼什麼都不會發生。

但是,如果他們不同,那麼他們不同的分鐘數出現在單元格B1中。

下面是代碼:

Public Sub DateTimeCheck() 

    Dim d As Double 
    Dim s1 As String 
    Dim s2 As String 

    s1 = Format([a1], "dd-mm-yyyy hh:mm") 
    s2 = Format(Now, "dd-mm-yyyy hh:mm") 

    If Left$(s2, 10) = Left$(s1, 10) Then 
     d = TimeValue(Right$(s2, 5)) - TimeValue(Right$(s1, 5)) 
     If d Then 
      [b1] = d * 1440 
     End If 
    End If 

End Sub 

現在,如果你有更多的細胞與A列的日期,你想對他們進行比較,同時,那麼您將需要修改這個代碼,以便它「進程「 他們全部。

至於將分鐘的差異寫入電子郵件......我們需要更多的細節!

+0

非常感謝。是的,我同意你的觀點,如果沒有正確的數據,它很難解釋。我用這段代碼啓動了病毒,並讓我知道我是否面臨有關正確數據的任何問題。 – user1089660

+0

老實說,有人可以解釋爲什麼這個答案被低估了嗎?我只想知道,因爲雖然問題很模糊,但我可以看到OP想要去哪裏並提供幫助。這種胡說八道(這不是第一次)讓我在這裏分享我的知識不值得。 –

+1

我懷疑是因爲它沒有回答這個問題(通過你的錯誤 - 在目前的狀態下似乎無法回答,因爲你似乎同意)。你試圖幫助OP會犧牲我未來訪問的所有其他人,並且只能找到一個模糊問題的部分答案。這不是SE尋求的質量。 – pnuts