关闭有关剪贴板上大量数据的警告消息

时间:2018-10-09 17:54:35

标签: excel vba

我正在使用以下命令将多个Excel文件中的数据行(有时少至8 X 17)复制到另一个Excel文件中的一个工作表中:

wksInput.Range(strInputRange).Copy
wksOutput.Range(strOutPutRange).PasteSpecial xlPasteValues

我收到一条警告消息,指出“剪贴板上有大量信息。您是否希望以后能够将此信息粘贴到另一个程序中?”。

Application.DisplayAlerts = False,不起作用。

有没有办法关闭此警告消息?

2 个答案:

答案 0 :(得分:1)

这不是excel特有的问题,每当您从其他应用程序复制大数据时,我也看到了剪贴板警告。 但是,在使用excel时,您可能有几种方法可以使用VBA解决它。


有几种方法可以防止显示此警告消息。 最快的手动方法是在关闭工作簿之前按ESC键。

在使用Visual Basic for Applications宏来剪切或复制单元格的自动化方案中,您可能不认为按ESC键来防止出现警告是可以接受的选项。在这种情况下,请使用以下任何编程方法来防止警告。

方法1:复制一个单元格

如果您使用Visual Basic for Applications宏来剪切或复制单元格,则在关闭工作簿的行之前立即插入以下行:

ActiveSheet.Range(“ A1”)。Copy

如果剪贴板包含100个或更少的单元格,则不会显示警告消息。

方法2:从CutCopyMode退出

如果您使用Visual Basic for Applications宏来剪切或复制单元格,则在关闭工作簿的行之前立即插入以下行

workbook.Application.CutCopyMode = False

其中“工作簿”是您的工作簿对象。

注意:通过将CutCopyMode设置为True或False,Excel可以取消Cut或Copy模式。

方法3:保存工作簿

如果您使用Visual Basic for Applications宏来剪切或复制单元格,则在关闭工作簿的行之前立即插入以下行

工作簿。保存

其中“工作簿”是您的工作簿对象。保存工作簿时,Excel不再处于“剪切”或“复制”模式。

原创文章可在this Microsoft support page上找到

答案 1 :(得分:0)

您是否已经尝试过以下方法:

wksOutput.Range(strOutPutRange).Value = wksInput.Range(strInputRange).Value

(也许您可能需要遍历范围内的所有单元格)

像这样,您不需要剪贴板,因此不会被消息打扰。