关闭工作簿时,如何在excel vba中禁用剪贴板提示?

关闭工作簿时,如何在excel vba中禁用剪贴板提示?,vba,excel,clipboard,Vba,Excel,Clipboard,因此,我正在使用多个工作簿,从中我将Sheet1中的所有数据从每个工作簿复制到主工作簿中各自的工作表中。完成后,我将对多个工作簿进行编码以关闭它们。但是,弹出一个恼人的提示,询问我是否希望将复制的数据始终保留在剪贴板上,我希望它不弹出,或者当它弹出时,我希望自动选择“否” 我知道有人问过一个类似的问题,但它对我不起作用,我想这是因为我有一个矩形区域的数据,而不是一列?我对vba很陌生,但我试着在vba中乱搞代码,但运气不好 这是我的原始代码: Sub CFM56copydata() Dim wb

因此,我正在使用多个工作簿,从中我将Sheet1中的所有数据从每个工作簿复制到主工作簿中各自的工作表中。完成后,我将对多个工作簿进行编码以关闭它们。但是,弹出一个恼人的提示,询问我是否希望将复制的数据始终保留在剪贴板上,我希望它不弹出,或者当它弹出时,我希望自动选择“否”

我知道有人问过一个类似的问题,但它对我不起作用,我想这是因为我有一个矩形区域的数据,而不是一列?我对vba很陌生,但我试着在vba中乱搞代码,但运气不好

这是我的原始代码:

Sub CFM56copydata()
Dim wbk As Workbook
'The workbook is opened using the text from a textbox in a userform i.e:
strFirstFile = Userform1.dog.Text
Set wbk = Workbooks.Open(strFirstFile)
With wbk.Sheets("Sheet1")
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
End With
Set wbk2 = ThisWorkbook
wbk2.Sheets("dog").Range("A1").Insert
wbk.Close
End Sub
下面是我如何尝试调整它,以避免使用clipbaord。(不工作,第12行出现调试错误)


如果您将
wbk.Close
语句更改为:

Application.DisplayAlerts = False
wbk.Close
Application.DisplayAlerts = True

如果剪贴板提示有问题,请在粘贴完成后清空它

wbk2.Sheets("dog").Range("A1").Insert
Application.CutCopyMode = False
wbk.Close

谢谢这些都是很好的建议,而且都很有效!最后我用代码清空了剪贴板,因为要清除的行少了一行,这并没有清空剪贴板。它仅删除复制区域周围的“跳舞的蚂蚁”。如果您复制了足够的数据,您可能仍然会收到此消息。谢谢!这些都是很好的建议,而且都很有效!我最后用代码清空剪贴板,因为它少了一行
wbk2.Sheets("dog").Range("A1").Insert
Application.CutCopyMode = False
wbk.Close