2017-03-06 116 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