2012-10-16 69 views
1

我有了時間值像Excel的時間值進行比較

A1 00:01:00

A2 00:02:00

一個Excel表,我想用一個for循環數據在某些時候。我使用的是條件公式像下面

if Cells(1,1).Value = TimeValue("00:01:00") Then Do Something 

我能得到00:01:00之間的值 - 00:30:00,但00:30:00之間的值 - 00:59:00公式單元格(#)。Value = TimeValue(「00:33:00」)不起作用。即使單元格內容爲00:33:00,if條件也不會返回真值。問題是什麼。我試圖使用#12:33:00 AM#等,但它也不起作用。可能是什麼問題? (我把這些單元格格式化爲時間格式)。

回答

1

您需要先轉換爲其基本類型,轉換爲double。

然後有比較vba中浮點數的問題。那裏已經有很多話題了,我不會惹惱一匹死馬。你可以使用round或簡單地轉換成一個字符串應該做的工作。

If CStr(CDbl(Sheet1.Cells(1, 1).Value)) = CStr(CDbl(TimeValue("00:33:00"))) Then 

浮點錯誤延伸閱讀: Link Link2 Link3

+0

謝謝你,我會檢查鏈接。而且我會考慮使用小時,分鐘等功能 –