我正在使用以下命令将多个Excel文件中的数据行(有时少至8 X 17)复制到另一个Excel文件中的一个工作表中:
wksInput.Range(strInputRange).Copy
wksOutput.Range(strOutPutRange).PasteSpecial xlPasteValues
我收到一条警告消息,指出“剪贴板上有大量信息。您是否希望以后能够将此信息粘贴到另一个程序中?”。
Application.DisplayAlerts = False
,不起作用。
有没有办法关闭此警告消息?
答案 0 :(得分:1)
这不是excel特有的问题,每当您从其他应用程序复制大数据时,我也看到了剪贴板警告。 但是,在使用excel时,您可能有几种方法可以使用VBA解决它。
有几种方法可以防止显示此警告消息。 最快的手动方法是在关闭工作簿之前按ESC键。
在使用Visual Basic for Applications宏来剪切或复制单元格的自动化方案中,您可能不认为按ESC键来防止出现警告是可以接受的选项。在这种情况下,请使用以下任何编程方法来防止警告。
如果您使用Visual Basic for Applications宏来剪切或复制单元格,则在关闭工作簿的行之前立即插入以下行:
ActiveSheet.Range(“ A1”)。Copy
如果剪贴板包含100个或更少的单元格,则不会显示警告消息。
如果您使用Visual Basic for Applications宏来剪切或复制单元格,则在关闭工作簿的行之前立即插入以下行
workbook.Application.CutCopyMode = False
其中“工作簿”是您的工作簿对象。
注意:通过将CutCopyMode设置为True或False,Excel可以取消Cut或Copy模式。
如果您使用Visual Basic for Applications宏来剪切或复制单元格,则在关闭工作簿的行之前立即插入以下行
工作簿。保存
其中“工作簿”是您的工作簿对象。保存工作簿时,Excel不再处于“剪切”或“复制”模式。
答案 1 :(得分:0)
您是否已经尝试过以下方法:
wksOutput.Range(strOutPutRange).Value = wksInput.Range(strInputRange).Value
(也许您可能需要遍历范围内的所有单元格)
像这样,您不需要剪贴板,因此不会被消息打扰。