2013-08-27 53 views
-1

參照這個問題,檢查逐行在一份報告中

Changing Row Colour according to condition

,我熟悉了條件格式。但是我仍然面臨這個問題。

我使用此代碼將時間轉換爲時間(分鐘)。

Dim TestString As String 

TestString = Me.Duration 

Dim TestArray() As String 

TestArray = Split(TestString, ":") 

Dim Hours As String 
Dim Minutes As String 
Dim Seconds As String 

Dim HoursMinutes As Integer 
Dim MinutesMinutes As Integer 
Dim SecondsMinutes As Integer 

Hours = TestArray(0) 
Minutes = TestArray(1) 
Seconds = TestArray(2) 

HoursMinutes = CInt(TestArray(0)) * 60 
MinutesMinutes = CInt(TestArray(1)) 
SecondsMinutes = CInt(TestArray(2))/60 

Dim TimeInMinutes As Integer 

TimeInMinutes = HoursMinutes + MinutesMinutes + SecondsMinutes 

Me.Duration = TimeInMinutes 

但是,由於某些原因,這是行不通的。

你有什麼想法我怎麼能做到這一點獨立的行?

在此先感謝

地址:

我試圖創造分鐘領域,問題是,他們將得到所有相同的號碼。

+0

http://stackoverflow.com/questions/18438469/改變行顏色根據條件(參考這個問題) – Cuta

+0

什麼不工作? – 2013-08-27 09:19:55

+0

我試着爲分鐘創建一個字段,問題是他們會得到所有相同的數字。 – Cuta

回答

1

下面的代碼有一個稱爲String變量dateTime,其存儲在該格式的當前日期和時間:27/08/2013 10:55:52

dateTime字符串是越來越分成一個Variant arr陣列

Split(dateTime, Chr(32))(1)返回時間10:55:52部分dateTime可變

然後Split(Split(dateTime, Chr(32))(1), ":")拆分時間分成使用:(結腸)作爲定界符

所以,你最終與arr保持小時,分鐘#,秒##3個的數字。

CLng((arr(0) * 60) + arr(1) + (arr(2)/60))返回算出時間值

棒的下面子新鮮模塊中的整數/長表示,並且運行它

Sub Convert() 

    Dim dateTime As String 
    dateTime = now 

    Dim arr 
    arr = Split(Split(dateTime, Chr(32))(1), ":") 

    MsgBox "The time " & Split(dateTime, Chr(32))(1) & vbCrLf & _ 
     " as Integer is equal to " & CLng((arr(0) * 60) + arr(1) + (arr(2)/60)) 

End Sub 
+0

我已經完成了!謝謝,無論我嘗試將類似的更改代碼插入到Detail_Paint函數中。 我的問題出現作爲條件格式,然後刷新,當我向下滾動報告.. – Cuta