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

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


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

Application.DisplayAlerts = False,不起作用。

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

最佳答案

这不是一个特定于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上找到

09-26 23:25
查看更多