【问题标题】:Excel 2010 work with multiple named ranges [duplicate]Excel 2010 使用多个命名范围 [重复]
【发布时间】:2014-02-17 13:03:58
【问题描述】:

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

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

我使用语句 application.goto reference:="" 来选择范围,这会激活这些工作表,因此会前后闪烁。哪个看起来很吸引人。

有没有一种方法可以在不激活它们的情况下使用它们。

谢谢。

【问题讨论】:

  • 是的,有办法。请阅读this Q/A
  • 发布您当前的代码。

标签: vba excel


【解决方案1】:

有两点需要改进:

  1. 开始你的代码:

    Application.ScreenUpdating = False

    这将防止闪烁。确保在最后使用Application.ScreenUpdating = True 重新激活它。否则 Excel 会出现奇怪的行为,在宏完成后无法正确更新屏幕。

  2. 而不是使用

    Application.Goto Reference="YourRangeName1" 选择.复制 Application.Goto Reference="YourRangeName2" 选择.粘贴

    使用

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

    这也将加快您的执行时间...

【讨论】:

    【解决方案2】:

    你可以试试:

    Application.ScreenUpdating = False

    在您的 vb 项目开始时使用此代码。

    【讨论】:

    • 谢谢大家。我用过彼得阿尔伯特的,很好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2017-10-01
    相关资源
    最近更新 更多