好吧,首先我在谷歌搜索时找到了几个答案,但大多数论坛都被我屏蔽了,Office Network
因此在这里问这个问题!另一个目的是用简单的英语得到答案:P
我知道如果我们设置Application.CutCopyMode = False
然后复制/剪切结果将消失(即内存将被清除)但是我们什么时候应该使用它,什么时候不使用它?有人可以帮忙吗?
好吧,首先我在谷歌搜索时找到了几个答案,但大多数论坛都被我屏蔽了,Office Network
因此在这里问这个问题!另一个目的是用简单的英语得到答案:P
我知道如果我们设置Application.CutCopyMode = False
然后复制/剪切结果将消失(即内存将被清除)但是我们什么时候应该使用它,什么时候不使用它?有人可以帮忙吗?
通过引用此(http://www.excelforum.com/excel-programming-vba-macros/867665-application-cutcopymode-false.html)链接,答案如下:
Application.CutCopyMode=False
当您执行复制/剪切单元格并粘贴时,会在宏记录器生成的代码中看到 . 宏记录器在单独的语句中进行复制/剪切和粘贴,并将剪贴板用作中间缓冲区。我认为Application.CutCopyMode = False
清除剪贴板。There is a large amount of information on the Clipboard....'
如果没有该行,当您关闭剪贴板上有大量数据的工作簿时,您将收到警告 ' 。
使用优化的 VBA 代码,您通常可以在一个语句中执行复制/剪切和粘贴操作,因此不使用剪贴板,Application.CutCopyMode = False
也不需要剪贴板,您也不会收到警告。
通常,当您复制一个单元格时,您会在状态栏中找到以下语句(在工作表底部)
“选择目的地并按 Enter 或选择粘贴”
然后按 Enter 或选择粘贴来粘贴单元格的值。
如果您之后没有按 Esc,您将能够多次粘贴单元格的值
Application.CutCopyMode = False与 Esc 按钮的作用相同,如果您将其从代码中删除,您会发现您可以再次粘贴单元格值多次。
如果您在未按 Esc 的情况下关闭 Excel,您将收到警告“剪贴板上有大量信息......”
https://stackoverflow.com/a/33833319/903783有一个很好的解释
根据 xlCutCopyMode 枚举(https://msdn.microsoft.com/en-us/VBA/Excel-VBA/articles/xlcutcopymode-enumeration-excel),预期的值似乎是 xlCopy 和 xlCut ,但是 0 值(这是VBA 中的 False 等于什么)似乎对清除剪贴板上的 Excel 数据很有用。