每当我在Excel中运行某个报表宏时,我都无法在其他位置使用“复制”和“粘贴”。例如,我说我启动报告(取决于多少行可能需要30多分钟),然后在其他地方工作,而它在后台运行,它不允许我复制和粘贴。它唯一粘贴的是宏目前正在处理的内容,如果我尝试复制某些内容,它会被插入到报告中的下一个单元格中,从而弄乱报告。
寻找任何建议或是否有其他人听说过这个。
感谢。
答案 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?)
它会做同样的事情,只是不使用你的活动剪贴板,并提高效率。