2013-07-12 57 views
0

親愛的(vba)程序員,日期選擇器ActiveX excel VBA在自動創建時沒有響應

我正在用excel(帶有vba和ActiveX控件)構建一個動態過濾器。 我想使用Microsoft日期和時間選擇器控件,版本6.0在Excel 2010中 當我生成一個下拉日曆:

Set OLEObj = Sheets("Blad3").OLEObjects.Add(ClassType:="MSComCtl2.DTPicker.2", Link:=False, DisplayAsIcon:=False, Left:=10, Top:=10, Width:=123, Height:=40) 

它放置正確,但它不會起作用。當我切換開關模式時,它突然發揮作用。這對我來說似乎是一個錯誤,或者我必須激活對象或類似的東西?

我有同樣的問題作爲「第一個奇怪的事情」: http://www.ozgrid.com/forum/showthread.php?t=47290

希望有一個人的答覆。 提前致謝!

回答

0

是的..這是Windows中mscomctl控件的問題。如果mscomctl.ocx未在system32文件夾中註冊,那麼您的Excel將不支持該日期選擇器。

您可以創建自定義日期選擇器,並且不需要任何此類控制,因爲它將完全是具有不同對象的用戶窗體。

退房this video,看看它的樣子:

如何創建呢?

  1. 創建使用公式在excel工作表一個excel壓延。檢查this video以瞭解如何執行此操作。

  2. 然後,創建一個用戶窗體。爲每天和標題添加標籤。

  3. 將這些標籤的標題設置爲單元格引用。

  4. 標籤上點擊事件 - 更改該標籤的bgcolor並保存其標題中的值。

如果您仔細觀看這兩個視頻,休息是不言自明的。

如果您不想創建自己的日期選擇器,那麼您需要將mscolctl.ocs放在system32文件夾中並執行批處理命令來執行它。

一旦出現,請點擊開始>運行並輸入REGSVR32 MSCOMCTL.OCX