Excel 2010使用多个命名范围

时间:2014-01-26 19:33:09

标签: excel vba excel-vba

我的问题是:我正在使用大型工作簿中的命名范围。我需要从某些工作表x中的某个命名区域复制数据并将其粘贴到另一个命名区域,例如wksheet y,然后才能对其进行排序并将其显示在wksheet z中的另一个范围内。

我通过vba实现了所有这一切,除了屏幕闪烁时我执行代码很多。

我使用语句 application.goto reference:=“”来选择范围,这会激活这些工作表,从而向后闪烁。看起来很吸引人。

有没有办法可以在不激活它们的情况下使用纸张。

谢谢。

2 个答案:

答案 0 :(得分:1)

要改进的两件事:

  1. 使用以下代码启动代码:

    Application.ScreenUpdating = False

    这样可以防止闪烁。请务必使用Application.ScreenUpdating = True在最后重新激活它。其他Excel会表现得很奇怪,而不是在宏完成后正确更新屏幕。

  2. 而不是使用

       Application.Goto Reference="YourRangeName1"
       Selection.Copy
       Application.Goto Reference="YourRangeName2"
       Selection.Paste
    

    使用

    Range("YourRangeName1").Copy Target=Range("YourRangeName2")
    

    这也会加快你的执行时间......

答案 1 :(得分:0)

您可以尝试:

Application.ScreenUpdating = False

在vb项目的开头使用此代码。