2014-11-03 17 views
0

我已经创造了personal.xlsb下面的VBA脚本,在的ThisWorkbook(Excel 2010中)工作:WorkbookOpen事件不会与AutoFilterDateGrouping

Sub Workbook_Open() 

    Application.ActiveWindow.AutoFilterDateGrouping = False 

End Sub 

它不工作。 我得到vba运行时错误:91对象变量或未设置块变量。 虽然它可以在打开文件后手动运行。

意图是将AutoFilterDateGrouping设置为False自动为所有新打开的文件。

+0

先试 'Application.ActiveWindow ......' 添加 '停止',并重新开放工作手册。然后在调试模式下看什么没有设置(也许没有ActiveWindow呢?)。 – dee 2014-11-03 13:19:06

+1

在打开个人宏工作簿时运行代码,此时没有工作簿处于活动状态。 – Rory 2014-11-03 13:25:51

+0

我明白这一点,但我怎么解决它? – 2014-11-03 13:56:38

回答

0

我发现肮脏的解决方案:

模块:

Sub Startup()

ActiveWindow.AutoFilterDateGrouping = False

End Sub

工作簿部分:

Sub Workbook_Open()

Application.OnTime Now() + TimeSerial(0, 0, 1), "Startup"

End Sub