我想将模板工作表复制到其自身的左侧以由报告生成器填充。这一切工作正常。没有闪烁的复制工作表
但是,当涉及到表格复制行(如下所示)时,它们是一个闪光灯,因为excel出现然后消失 - 尽管偶尔我会留下一个蓝色的,部分填充的excel窗口。
我已将Application.ScreenUpdating
设置为false,并且.Visible
也设置为false,并且我每次都重置它们以尽量减少中断。这闪光灯真的很烦人。无论如何阻止它?
' create new sheet from template sheet
shtDeliveryVariance.Copy Before:=shtDeliveryVariance
Set shtVariance = Sheets(shtDeliveryVariance.Index - 1)
shtVariance.Name = "Delivery Variance " & Format(nSheetNumber, "000")
' minimise the flashes
Application.Interactive = False
Application.ScreenUpdating = False
Application.Visible = False
更新:如果我使用Set shtVariance = Sheets.Add
我不明白的闪光灯,但我失去了所有漂亮的格式。
我说:我已经设置ScreenUpdating为false。我再次设置它以去除剩下的丑陋蓝色窗口,但我仍然有那样的闪烁。 – 2009-09-08 15:45:50
好吧我误解了:) 对不起,使用上面的代码时无法重现行为(无屏幕闪烁)。据推测该模板非常重要,复制操作需要很长时间? 我通常不会打扰application.visible或application.interactive,application.screenupdating通常就足够了。您是否因特定原因使用这些设备? 如果您为这个问题提供更多的上下文和代码,可能会有所帮助。 – andyb 2009-09-08 17:36:17
以下是一些背景:我们为公司内部和外部的各种团体创建报告。这些报告是Excel的xlt文件,它们有vb代码模块。这些报告在某些情况下超过了65K行的限制,因为excel <= 2K3,所以我们现在正在拆分表单来补偿。 '模板页面'只是一张表格,其中包含美化(徽标,文本位,全部位于前7行)。围绕该部分的代码在跑到数据库之前填充一些文本,以开始吸取数据以填充报告。 – 2009-09-09 08:05:29