2010-12-09 87 views
0

與沒有幫助多小時非常基本的,並且很討厭,我已經尋找解決方案...Excel的VBA時間格式與組合框小數

問題:我從命名的區域填充組合框,範圍列表時間(格式爲時間:-),組合似乎罰款,下拉顯示我的時間,因爲他們是應該的,但選擇當時間被格式化爲一個十進制數...

alt text

下面是代碼(撕下來最低限度):

Private Sub UserForm_Initialize() 
    ComboBoxTime.RowSource = "Help!Time" 
End Sub 

「幫助」是包含命名的區域「時代」工作表的名稱我都試過,沒有運氣的格式不同的方式...

ComboBoxTime = Format(ComboBoxTime, "hhmm") 

這裏是鏈接品嚐。 http://www.equstom.fi/dateproblem.html

(是的,我需要從命名範圍來填充,而不是爲每個循環中,我將設置.value的使用代碼,整個文件實際上是相當複雜的,但我只包含這個問題的一部分...)

+0

您的鏈接http://www.equstom.fi/dateproblem.html中斷 – 2010-12-09 19:43:44

+0

對不起,這裏是http://www.equstom.fi/dateproblem.xlsm – 2010-12-10 05:50:52

回答

0

該問題被命名爲範圍我正在使用,當值被格式化爲時間,它將無法正常工作。如果價值是文本,我就能使用它!問題與excel在芬蘭語和VBA中的英語有關... 我在範圍旁邊添加了第二列,它將文本值複製到這個以時間格式化的第二範圍。快速和骯髒! (感謝您的輸入Belisarius)

2

嘗試是這樣的:

Private Sub ComboBox1_Change() 
With ComboBox1 
    .Value = Format(.Value, "hh:mm:ss AMPM") 

End With 
End Sub 

HTH!

編輯 這是我離開你的組合時看到的。時間顯示正常。

alt text

編輯2

發現錯誤 「無效屬性」:

必須在組合框中設置 「需要選用匹配」 爲FALSE。如果你認爲它應該是「真」,你將不得不手動驗證...