在Excel中复制大量数据时如何避免剪贴板消息框?

Roc*_*oal 3 vba macros microsoft-excel

我有一个宏,它将 4 张工作簿从一个工作簿复制到一个新工作簿,并用另一个名称保存下来。

不幸的是,询问我是否愿意为其他应用程序提供大量数据的消息框导致这项自动化工作变得有点手动。

任何有关如何避免剪贴板消息框或让它自动回答“否”的提示,将不胜感激。

Jon*_*ier 7

问题Application.DisplayAlerts = False在于它可能会隐藏您需要查看的警报。

Application.CutCopyMode = False粘贴后使用,从剪贴板中删除指向大范围的链接。


mis*_*ab1 5

我会修改宏。宏启动时关闭警报,宏完成后将它们重新打开。IE Application.DisplayAlerts = False


小智 5

我同意 Jon Peltier 的观点,“问题在于Application.DisplayAlerts = False它可能隐藏了您需要查看的警报。” 另外,您必须记住Application.DisplayAlerts = True在完成后进行设置,因此每次粘贴需要 3 行代码,如果您的程序在此之前中断,Application.DisplayAlerts = True您将在不知不觉中关闭警报,直到您退出 Excel。

Application.CutCopyMode = False粘贴后我测试了他的建议,效果很好。这是一个例子someSpreadsheet.xls

Workbooks.OpenText Filename:="someDirectory\someFile.txt", _
    DataType:=xlDelimited, TextQualifier:=xlNone, _
    Tab:=True
Cells.Select
Selection.Copy
Windows("someSpreadsheet.xls").Activate
ActiveSheet.Paste
Application.CutCopyMode = 0
Windows("someFile.txt").Activate
ActiveWorkbook.Close
Run Code Online (Sandbox Code Playgroud)