2013-09-26 65 views
0

我想要使用條件格式或VBA代碼來解決這個問題,哪個並不重要。有條件格式化與真實日期和時間

我想按條件顏色A1。我有一個以B1存儲的特定日期和時間結束的過程。我的過程開始日期和時間存儲在B2中。我在C1中編寫了一個實時時鐘。

假設我的過程將結束2013-09-29 17:05:16(存儲在B1)。我想將此值與C1中的實時時鐘進行比較,該時鐘每秒鐘都會跳動。

我已經四種不同的條件,以滿足對A1

  1. 如果C1是前B1然後綠色直到C1達到啓動 - 停止時間間隔的最後3%。
  2. 否則,如果C1B1之前,那麼黃色
    所以它基本上是0.97到1.00之間的區間,其中0.97是3% ,在過程結束之前,1.00在過程結束。
  3. 如果C1已經通過B1達到Start-Stop時間間隔的3%,則橙色
  4. 否則,如果C1晚於B1,則紅色

我不知道,如果你們需要真正的時間和日期(C1)的編碼,但無論如何:

Global clockOn As Boolean 
Sub runClock() 
    Range("C1").Value = Now() 
    If clockOn = True Then 
     Application.OnTime Now + TimeValue("00:00:01"), "runClock" 
    End If 
End Sub 
Sub startClock() 
    clockOn = True 
    runClock 
End Sub 
Sub stopClock() 
    clockOn = False 
End Sub 
+0

見[此](HTTP ://vba4all.wordpress.com/category/vba-macros/highlight-cells-based-on-a-condition/)根據條件突出顯示單元格 – 2013-09-26 09:53:58

+0

@pnuts我的意思是在C1達到過程結束時間之前的3%我想讓A1處的單元變成黃色。 C1會隨時更新,所以當C1接近存儲在B1中的「過程結束日期和結束時間」時,我希望A1在C1實際上只剩下3%時注意到這一點(轉爲黃色)到達B1。這是澄清更多,還是我只是更混淆你? –

+0

@mehow謝謝我馬上檢查它! :) –

回答

0

UNTESTED但我認爲這是這種你需要!:的東西

SO19024932 example

其中A1公式爲=(NOW()-B2)/(B1-B2)

+0

請注意,這不需要runClock()宏,但因此不會自動刷新(響應F9更改)。 – pnuts

+0

非常感謝!有效! :-) –

+0

是的,我現在注意到了這一點:)。現在我有以下幾種: **綠色A1 <0。97 **, **黃色A1 <1.00 **, **橙色A1 <= 1.03 **, **紅色A1> 1.03 **, 這就是我一直在尋找的,它似乎工作時我測試不同的開始和結束時間。 :) –