Excel ActiveSheet.Paste给出运行时错误';1004';虽然它正在运行,但在调试时没有问题

Excel ActiveSheet.Paste给出运行时错误';1004';虽然它正在运行,但在调试时没有问题,excel,vba,runtime-error,Excel,Vba,Runtime Error,“粘贴”给出了“1004”错误,然后我尝试调试它。但调试时没有错误。它是如何发生的?有解决办法吗,建议? 注:所有变量均定义为全局变量 For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder(fileDirec).Files Set yeni = CreateObject("Excel.Application") yeni.Workbooks.Open fileDirec& dosy

“粘贴”给出了“1004”错误,然后我尝试调试它。但调试时没有错误。它是如何发生的?有解决办法吗,建议? 注:所有变量均定义为全局变量

For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder(fileDirec).Files

    Set yeni = CreateObject("Excel.Application")

    yeni.Workbooks.Open fileDirec& dosya.Name

    Set s1 = yeni.Workbooks(dosya.Name).Sheets(1)

    s1.Range("a2:s" & s1.[a65536].End(3).Row).Copy

    sat = Range("a65536").End(3).Row

    Cells(sat + 1, "a").Select

    ActiveSheet.Paste

    yeni.CutCopyMode = False
    yeni.Quit

    Set yeni = Nothing
Next

似乎您正在复制并设置要复制的位置

但是您没有设置要选择的位置,或者至少没有设置要选择的图纸

也许尝试一下

thisworkbook.sheets("Sheet1").cells(1,1).value = thisworkbook.sheets("Sheet2").cells(1,1).value 'cells can be replaces with a range 
或者另一种选择是

with thisworkbook

sheets("Sheet1").copy 'insert a range if you have
sheets("Sheet2").pastespecial 

end with 

尝试将需要执行的任务分离到指定的工作表或工作簿中

。我还在所有行之间添加了“MsgBox ActiveWorkbook.Name&”-“&ActiveSheet.Name”。结果总是一样的。ActiveWorkbook和ActiveSheet没有更改。然后我再次启动代码,并手动单击ok all msgbox。代码正确运行。然后我删除了Msgbox行,然后我接受了运行时错误1004!你的建议无效。实际上,我在所有行之间添加了“MsgBox ActiveWorkbook.Name&-”&ActiveSheet.Name”。结果总是一样的。ActiveWorkbook和ActiveSheet没有更改。