亲爱的(vba)程序员,
我正在excel中构建一个动态过滤器(使用vba和ActiveX控件)。 我想在Excel 2010中使用Microsoft日期和时间选择器控件,版本6.0。 当我使用以下内容生成下拉日历时
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 :(得分:0)
是..这是Windows中mscomctl
控件的问题。如果mscomctl.ocx
未在system32
文件夹中注册,则您的Excel不支持该日期选择器。
您可以创建自定义日期选择器,并且不需要任何此类控件,因为它将完全是具有不同对象的用户表单。
查看this video以查看其外观:
如何创建?
使用公式在Excel工作表中创建Excel日历。检查this video以查看操作方法。
然后,创建一个Userform。为每天和标题添加标签。
将这些标签的标题设置为单元格引用。
在标签点击事件中 - 更改该标签的bgcolor并将值保存在其标题中。
如果你仔细观看两个视频,那么这是自我解释的。
如果您不想创建自己的日期选择器,则需要将mscolctl.ocs
放在system32
文件夹中并执行批处理命令来执行它。
一旦点击START> RUN并输入REGSVR32 MSCOMCTL.OCX