我不能使用复制和粘贴,并且Excel VBA宏正在运行

时间:2016-11-17 22:19:39

标签: excel vba excel-vba

每当我在Excel中运行某个报表宏时,我都无法在其他位置使用“复制”和“粘贴”。例如,我说我启动报告(取决于多少行可能需要30多分钟),然后在其他地方工作,而它在后台运行,它不允许我复制和粘贴。它唯一粘贴的是宏目前正在处理的内容,如果我尝试复制某些内容,它会被插入到报告中的下一个单元格中,从而弄乱报告。

寻找任何建议或是否有其他人听说过这个。

感谢。

2 个答案:

答案 0 :(得分:3)

你甚至需要复制/粘贴吗?也许在幕后VBA本身并不是真正的复制/粘贴,但如果你只需要这些值,为什么不呢:

Range("B1").Value = Range("A1").Value

请记住,您可以真正对范围执行此操作,而不仅仅是单元格

Range("B1:B100").Value = Range("A1:A100").Value

这不会复制格式等,但您也可以添加这些格式:

Range("A1").NumberFormat = Range("B1").NumberFormat

这可能不像您通过复制/粘贴所寻求的那样整洁,但是我鼓励您对其进行基准测试,看看哪个更有效。再一次,也许它在引擎盖下都是一样的;我真的不知道。

答案 1 :(得分:0)

使用:

Range("A1").Select
Selection.Copy
Range("B1").Select
Selection.Paste

我正在使用我的Active Clipboard ergo,为什么我不能通过改变它来复制和粘贴:

Range("A1?).Copy Destination:=Range("B1?) 

它会做同样的事情,只是不使用你的活动剪贴板,并提高效率。