我的问题是:我正在使用大型工作簿中的命名范围。我需要从某些工作表x中的某个命名区域复制数据并将其粘贴到另一个命名区域,例如wksheet y,然后才能对其进行排序并将其显示在wksheet z中的另一个范围内。
我通过vba实现了所有这一切,除了屏幕闪烁时我执行代码很多。
我使用语句 application.goto reference:=“”来选择范围,这会激活这些工作表,从而向后闪烁。看起来很吸引人。
有没有办法可以在不激活它们的情况下使用纸张。
谢谢。
答案 0 :(得分:1)
要改进的两件事:
使用以下代码启动代码:
Application.ScreenUpdating = False
这样可以防止闪烁。请务必使用Application.ScreenUpdating = True
在最后重新激活它。其他Excel会表现得很奇怪,而不是在宏完成后正确更新屏幕。
而不是使用
Application.Goto Reference="YourRangeName1" Selection.Copy Application.Goto Reference="YourRangeName2" Selection.Paste
使用
Range("YourRangeName1").Copy Target=Range("YourRangeName2")
这也会加快你的执行时间......
答案 1 :(得分:0)
您可以尝试:
Application.ScreenUpdating = False
在vb项目的开头使用此代码。