【问题标题】:Turning off the warning message about large amount of data on the clipboard关闭有关剪贴板上大量数据的警告消息
【发布时间】:2021-08-27 03:52:51
【问题描述】:

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

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

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

Application.DisplayAlerts = False,不起作用。

有没有办法关闭这个警告信息?

【问题讨论】:

标签: excel vba


【解决方案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 可能会取消剪切或复制模式。

方法 3:保存工作簿

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

工作簿.保存

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

原文可以在this Microsoft support page找到

【讨论】:

    【解决方案2】:

    您是否已经尝试过这样的事情:

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

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

    像这样,你不需要剪贴板,所以你不会被消息打扰。

    【讨论】:

      【解决方案3】:

      这会在您关闭工作簿后立即出现。所以使用 Application.CutCopyMode = False 关闭工作簿后。

      代码应如下所示:

      wbk.close False 'code for closing the workbook in vba
      
      Application.CutCopyMode = False 'Code for removing the cutcopymode and the warning
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-13
        • 2022-01-26
        • 2013-01-06
        • 1970-01-01
        • 2014-06-09
        • 1970-01-01
        • 1970-01-01
        • 2012-07-29
        相关资源
        最近更新 更多