在我的工作簿中,我复制当前工作表以保留销售记录。最终,工作簿会填满销售额,并在某些时候尝试复制另一张工作表时发生错误。保存后,然后完全退出Excel,然后重新加载文件,我可以继续没有问题。我猜这是一个内存问题,但我不确定如何解决它,而无需重新启动Excel。我完全不记得错误的措辞,但它沿着“工作表复制方法失败”的方向行事。 FWIW我在复制工作表的宏的末尾使用“Application.CutCopyMode = False”。复制方法由于内存而失败
月1日编辑:
我想发布的所有代码,但只是这么多了(主要是不相关的更新值,输入验证,等等,等等);如果我发布了所有内容,那么我必须发布所有其他功能才能使其有意义。我只想说,这就是我认为是适用的:
ActiveSheet.Copy After:=Sheets(3)
...(more code)...
Call resetInterface(True, True, (wasScreenUpdating), (wasProtected))
,并为“resetInterface”功能:
' Final operations for a typical function/sub '
Function resetInterface(Optional calc As Boolean = False, Optional ccmode As Boolean = False, Optional scrUpdate As Boolean = True, Optional protectWS As Boolean = False)
With Application
If calc Then
.Calculation = xlCalculationAutomatic
.Calculate
End If
If ccmode Then .CutCopyMode = False
.ScreenUpdating = scrUpdate
End With
If protectWS Then ActiveSheet.Protect
End Function
一些提示(吸引流量到你的问题,并可能得到它解决):1)标题:使用“Excel宏”或一些类似的关键字b)努力记下特定的信息(事实上,也许你自己可能会“谷歌”这个信息)c)可能会提供你的宏的一个更长的片段。 – mjv 2009-11-08 03:17:39