VBA:复制工作表而不显示它几分之一秒

标签 vba excel

如果单击宏,我在工作表“索引”上有一个宏我想创建一个新工作表并在其中复制另一个工作表的一部分(称为"template")。

我有以下代码可以完成这项工作:

Set new_sheet = Sheets.Add(after:=Sheets(Sheets.Count))
Sheets("Template").Range("A1:Z100").Copy
Destination:=Sheets(new_sheet.Name).Range("A1")
ActiveWindow.DisplayGridlines = False
Sheets("Index").Activate

但是,我不喜欢在几分之一秒内显示新工作表(我觉得这有点令人不安,就像一条潜意识信息)。我想留在“索引”表上。因此,

a) 有没有办法避免显示新创建的工作表;

b)如果a)的答案是否定的,有没有办法显示一个对话框,该对话框持续几分之一秒,如“Elaborating ...”,隐藏背景中发生的事情?

最佳答案

您可以设置ScreenUpdating属性(property)给 TrueFalse在您的子开始时满足您的需求:

Application.ScreenUpdating = False

最后是:
Application.ScreenUpdating = True

here了解更多信息。

关于VBA:复制工作表而不显示它几分之一秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44139836/

相关文章:

javascript - 使用VBA执行javascript函数

c# - 使用 C# 对 Excel 中的列进行排序

python - VBA shell脚本在执行前设置环境变量

excel - VBA插入函数VLOOKUP到范围,在其他工作簿中查找范围

vba - 不需要的循环工作簿_AfterSave

excel - 遍历 VBA (Excel) 中的列

java - 如何将外部excel文件的输入数据获取到cucumber(JAVA)中的特征文件中...?

arrays - Excel VBA - 如何在保留旧数组值的同时向二维变量数组添加一行?

Perl - 找不到文件

vba - 如何从宏中选择基于单元格