Excel VBA时间格式与Combobox一起作为小数

非常基本,非常讨厌,我已经search了许多小时的解决scheme,没有任何帮助…

问题:我从命名范围填充Combobox,范围是时间列表(格式化为时间:-),组合看起来不错,下拉显示我的时间,因为他们应该是,但是当选定的时间被格式化为十进制数。 ..

替代文字

这里是代码(最低限度):

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

“帮助”是包含命名范围“时间”工作表的名称我已经尝试格式不同的方式没有运气…

 ComboBoxTime = Format(ComboBoxTime, "hhmm") 

这里是链接到示例。 http://www.equstom.fi/dateproblem.html

(是的,我需要从命名范围填充,而不是每个循环,我将设置.value与代码,整个文档实际上是相当复杂的,但我包括只是问题的一部分…)

尝试这样的事情:

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

HTH!

编辑这是我离开你的组合时看到的。 时间显示工作正常。

替代文字

编辑2

发现错误“invalid property”:

您必须在combobox中将“Match Requiered”设置为FALSE。 如果你认为它应该是“真”,你将不得不手动validation…

这个问题被命名为我正在使用的范围,当值被格式化为时间,它将无法正常工作。 如果值是Text,我就可以工作了! 问题与excel在芬兰语和VBA中的英文有关…我在范围旁边添加了第二列,它将文本值复制到这个被命名的第二个范围,格式为时间。 快又脏! (感谢您的inputBelisarius)