我有一个宏打开工作簿(wb1)并将其复制到另一个工作簿(wb2),然后关闭wb1。但是我总是提示下面的消息,有大量的剪贴板数据我不想被提示。在做了一些研究之后,我发现将'Application.CutCopyMode'设置为false(清除剪贴板)会解决这个问题,但它没有。
Application.CutCopyMode = False
...
'copy the range from source book
wb1.Worksheets("Sheet1").Range("A1:V2").Copy
'paste the data on the target book
wb2.Worksheets("Sheet1").Range("A1:V2").PasteSpecial
wb.Close savechanges:=False
如何在没有此消息的情况下关闭文件?
答案 0 :(得分:1)
如果要禁止显示任何消息,请在关闭文件之前添加以下内容:
Application.DisplayAlerts = False
如果要清除剪贴板内容,则应在执行复制/粘贴操作后添加Application.CutCopyMode = False
。像这样:
...
'copy the range from source book
wb1.Worksheets("Sheet1").Range("A1:V2").Copy
'paste the data on the target book
wb2.Worksheets("Sheet1").Range("A1:V2").PasteSpecial
Application.CutCopyMode = False
wb.Close savechanges:=False
答案 1 :(得分:1)
你想做什么特别的粘贴?如果你只想复制这些值,那么而不是复制&粘贴,只需直接分配值:
wb2.Worksheets("Sheet1").Range("A1:V2").value = wb1.Worksheets("Sheet1").Range("A1:V2").value