我有一个 Excel 工作簿,它使用 VBA 代码打开另一个工作簿,将一些数据复制到原始工作簿中,然后关闭第二个工作簿。
当我关闭第二个工作簿(使用 Application.Close
)时,我收到以下提示:
Do you want to save the clipboard.
VBA 中是否有命令可以绕过此提示?
最佳答案
我可以提供两种选择
- 直接复制
根据你的描述,我猜你正在做类似的事情
Set wb2 = Application.Workbooks.Open("YourFile.xls")
wb2.Sheets("YourSheet").[<YourRange>].Copy
ThisWorkbook.Sheets("SomeSheet").Paste
wb2.close
如果是这种情况,则无需通过剪贴板进行复制。此方法直接从源复制到目标。剪贴板中没有数据 = 无提示
Set wb2 = Application.Workbooks.Open("YourFile.xls")
wb2.Sheets("YourSheet").[<YourRange>].Copy ThisWorkbook.Sheets("SomeSheet").Cells(<YourCell")
wb2.close
- 禁止提示
您可以通过设置来阻止所有警报弹出窗口
Application.DisplayAlerts = False
<小时/>
[编辑]
- 仅复制值:根本不要使用复制/粘贴
Dim rSrc As Range
Dim rDst As Range
Set rSrc = wb2.Sheets("YourSheet").Range("YourRange")
Set rDst = ThisWorkbook.Sheets("SomeSheet").Cells("YourCell").Resize(rSrc.Rows.Count, rSrc.Columns.Count)
rDst = rSrc.Value
关于vba - 在工作簿关闭时禁用 Excel VBA 中的剪贴板提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5163265/