2015-06-04 41 views
0

我試圖從電子表格檢索時間信息到用戶窗體,但是我遇到了一個問題,其中06:​​00:00顯示爲00:25: 00。電子表格用於計算公司Flexi時間的時間,我們試圖通過使用用戶表單來簡化和限制用戶界面。它也從12:00:00更改爲00:05:00。有沒有辦法讓這個顯示正確的時間?06:00以用戶形式顯示爲00:25

這是我們目前用來顯示信息的代碼。

Private Sub TimeCheck_Change() 
    If Left(TimeCheck.Text, 1) = "-" Then 
    TimeCheck.ForeColor = RGB(255, 0, 0) 
    End If 
    TimeCheck.Text = Format(TimeCheck.Text, "hh:Nn;(hh:Nn)") 

End Sub 

此爲結文本框到片材:

Private Sub cmdsearch_Click() 


    row_number = 0 
    Do 
    DoEvents 
    row_number = row_number + 1 
    Status = Sheets("Flex Total").Range("A" & row_number) 
    If Status = EmployeeCheck.Text Then 
    TimeowedCheck.Value = Sheets("Flex Total").Range("B" & row_number) 
    timetakenCheck.Value = Sheets("Flex Total").Range("C" & row_number) 
    TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number) 
    End If 
    Loop Until Status = "" 

End Sub 
+1

嘗試使用「mm」而不是「Nn」 –

+0

我試過用adn啓動它並不起作用。在閱讀了一些關於類似問題的博客後,我將它改爲Nn。 –

+0

可能是系統區域設置問題?我無法複製它(當我測試時,這兩個示例值都按預期工作)。 –

回答

0

在代碼中,這條線分配從電子表格中的值:

TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number) 

等效於:

TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number).Value 

該單元格是一個Range ob ject,其默認屬性是其.Value。除非您指定另一個屬性,否則將返回此屬性。正如你的情況,是0.25,更改NumberFormat屬性將無濟於事。

相反,嘗試:

TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number).Text 

這將使用電池的.Text財產,而不是.Value,而.Text屬性由您所做的NumberFormat變化的影響,所以我認爲應該修復它。

+0

這是修復它。謝謝大衛。我很感激幫助 –