2017-03-06 114 views
1

我工作在一个excel工作表中,我希望所有日期范围内的数据如此创建一个用户窗体有两个组合框来选择日期范围(即一个开始日期&另一个结束日期),但是当我选择它以数字格式显示的日期,例如2012年7月28日的41118。然后我添加下面的代码在程序组合框日期格式vba excel

Private Sub ComboBox1_Change() 
ComboBox1.Value = Format(ComboBox1.Value, "dd-mm-yyyy") 
End Sub 

现在的问题就解决了,但现在它正在缓慢而采取10-15秒选择日期。 我找不到问题在哪里?任何人的帮助都会得到很大的支持。提前致谢。

+0

即使日期重复,所以我想删除出现多个日期的同一日期。即如果五行具有相同的日期01-01-2016,则日期01-01-2016出现在下拉菜单中五次,但我只需要一次。 – Nafis

回答

2

在它的change事件中更改ComboBox的值将再次触发事件,这将会像循环一样。尝试禁用事件,然后再更改值,然后启用它们:

Private Sub ComboBox1_Change() 
Application.EnableEvents = False 
ComboBox1.Value = Format(ComboBox1.Value, "dd-mm-yyyy") 
Application.EnableEvents = True 
End Sub 
+0

我按照你的建议&禁用事件一样,但问题没有解决。请指导我该怎么做。 &我能做些什么来解决在组合框中重复日期的第二个问题。 – Nafis

+0

我按照你的建议和尝试了上面的代码,但问题没有解决。我不是什么原因造成缓慢以及如何控制。 也请指导我另一个问题在组合框中重复相同的日期。 – Nafis

+0

请有人可以帮我找出问题。禁用事件并不能解决问题。 – Nafis