Debugging 如何有效地复制工作簿之间的大范围?

Debugging 如何有效地复制工作簿之间的大范围?,debugging,excel,copy,copy-paste,vba,Debugging,Excel,Copy,Copy Paste,Vba,我正在编写一个复制粘贴函数,用于将相当大的数据集从一个工作簿复制到另一个工作簿中的特定工作表。我写了下面的代码,希望它能尽可能高效地复制粘贴,但是在调试过程中,代码显示出根本不工作,它不会复制或粘贴任何东西,我不明白为什么,有人有任何想法/解决方案吗?提前谢谢 Windows("TempResults.xlsm").Activate numofrows = ActiveSheet.UsedRange.Rows.Count Workbooks("TempResults.xlsm").Sheets(

我正在编写一个复制粘贴函数,用于将相当大的数据集从一个工作簿复制到另一个工作簿中的特定工作表。我写了下面的代码,希望它能尽可能高效地复制粘贴,但是在调试过程中,代码显示出根本不工作,它不会复制或粘贴任何东西,我不明白为什么,有人有任何想法/解决方案吗?提前谢谢

Windows("TempResults.xlsm").Activate
numofrows = ActiveSheet.UsedRange.Rows.Count
Workbooks("TempResults.xlsm").Sheets("Sheet1").Range("A2", "AE" & CStr(numofrows)).Copy Destination:=Workbooks("Excel Results Extractor V2.xlsm").Sheets("Gate_Results").Range("A1").End(xlDown).Offset(1, 0)

我想这就是你想要的

Windows("TempResults.xlsm").Activate
numofrows = ActiveSheet.UsedRange.Rows.Count
Workbooks("TempResults.xlsm").Sheets("Sheet1").Range("A2", "AE" & CStr(numofrows)).Copy Destination:=Workbooks("Excel Results Extractor V2.xlsm").Sheets("Gate_Results").Range("A1")

关于您的问题中表达的效率问题:您可以尝试以下替代方法:

Workbooks("Excel Results Extractor V2.xlsm").Sheets("Gate_Results").Range("A1").Value = Workbooks("TempResults.xlsm").Sheets("Sheet1").Range("A1").Value 
试着看看它是如何工作的,然后根据您的情况相应地修改范围。
希望这会有所帮助。关于,

我猜有一个语法错误:应该是Range(“A2:”,“AE”和CStr(numorrows)。缺少“:”在原始声明中。关于,是的,可能就是它,但是,在更改它时,我现在得到错误1004:S@Alex不,他的语法是正确的,应该可以工作。1004错误不再发生,但复制和粘贴仍然没有成功,我自己和alex的语法也可能有其他错误。远程调试您的应用程序基于您提供的有限信息。作为一般规则,请尝试使用一些硬编码范围(例如A1:C3)来简化语句,以查看其是否有效。Rgds,谢谢,但我需要将其粘贴到已存在表的底部,因此为“.end”功能,我应该指定。嗨,谢谢,我解决了我的问题,但选择了效率更低、更清晰。