我無法獲得VBA代碼來比較以下日期和時間:我嘗試過TimeValue()並嘗試使用excels分數來表示時間,並且我嘗試了小時分鐘函數以及這些組合的組合
2012/05/01 00:00:00
2012/05/01 00:03:00
2012/05/01 00:06:00
2012/05/01 00:15:00
2012/05/01 00:18:00
給我下面
2012/05/01 00:00:00
2012/05/01 00:03:00
2012/05/01 00:06:00
2012/05/01 00:09:00
2012/05/01 00:12:00
2012/05/01 00:15:00
2012/05/01 00:18:00
的問題是,如果我比較當前日期和時間值與下一個日期和時間值練成有時認爲數據和時間是不一樣的,即使答案在VBA手錶中,數值是相同的。我必須在每個時間戳之間以3分鐘的時間間隔進行整個月的檢查。這些時間戳旁邊有數據條目。我能夠創建從2012/05/01 00:00:00開始到月底結束的時間戳,但我需要它填寫數據集中缺失的條目。下面的代碼工作,但只有一些時間如上所述。我嘗試了一些不同的東西,但似乎沒有任何作用。
感謝您的幫助
Sub Insert_missing_3min()
「插入日期和時間排在那裏失蹤的日期和時間標記和零旁添加日期。
Dim min3 As Date
Dim CurTime As Date
Dim CurCell As Date
Dim NextCell As Date
min3 = 3/24/60
If (Hour(ActiveCell) <> 0 Or Minute(ActiveCell) <> 0 Or Day(ActiveCell) <> 1) Then 'makes the start date the fisrt of the month at 00:00
ActiveCell.EntireRow.Insert
ActiveCell.Value = Year(ActiveCell.Offset(1, 0)) & "/" & Month(ActiveCell.Offset(1, 0)) & "/" & "1"
End If
Maand = Month(ActiveCell)
Do While IsDate(ActiveCell) And Month(ActiveCell) = Maand
NextCell = DateAdd("n", TimeValue(ActiveCell.Offset(1, 0)), ActiveCell.Offset(1, 0))
If (NextCell <> DateAdd("n", 3, ActiveCell) And NextCell > DateAdd("n", 3, ActiveCell)) Then
ActiveCell.Offset(1).EntireRow.Insert
ActiveCell.Offset(1, 0).Activate
ActiveCell.Value = DateAdd("n", 3, ActiveCell.Offset(-1, 0)) '3 min time value in excell
ActiveCell.Offset(0, 1).Value = 0 ' Value in colum next to date 0
With Selection.Interior ' Highlight
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Else
ActiveCell.Offset(1, 0).Activate
End If
Loop
末次
date + min3
改變它,我很抱歉,如果這似乎是一個愚蠢的問題,但我似乎無法得到它的權利。謝謝您的幫助。 – Albert 2012-08-06 09:12:18