Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 是否将工作表复制到打开的工作簿而不离开当前工作簿?_Excel_Vba - Fatal编程技术网

Excel 是否将工作表复制到打开的工作簿而不离开当前工作簿?

Excel 是否将工作表复制到打开的工作簿而不离开当前工作簿?,excel,vba,Excel,Vba,我不熟悉VBA代码。到目前为止,我已成功地将我想要的工作表复制到另一个打开的工作簿中。如何在不离开当前工作簿的情况下执行此操作 我已经到处寻找答案,并尝试了Application.screenUpdate=False,但这似乎没有任何效果,也许我没有正确地使用它 这是我到目前为止得到的,它相当简单,但它可以复制工作表 Sub Sample1() Application.ScreenUpdating = False Workbooks("Workbook1.xlsm").Sheets("Sheet

我不熟悉VBA代码。到目前为止,我已成功地将我想要的工作表复制到另一个打开的工作簿中。如何在不离开当前工作簿的情况下执行此操作

我已经到处寻找答案,并尝试了Application.screenUpdate=False,但这似乎没有任何效果,也许我没有正确地使用它

这是我到目前为止得到的,它相当简单,但它可以复制工作表

Sub Sample1()
Application.ScreenUpdating = False
Workbooks("Workbook1.xlsm").Sheets("Sheet1").CopyAfter:=Workbooks("Workbook2.xlsm").Sheets("Copy_After")
Application.ScreenUpdating = True
End Sub

您所要做的就是在脚本开始时记录哪个工作表是活动工作表,并在脚本完成后激活它

Sub Sample1()
  Dim OriginalSheet as Worksheet

  Application.ScreenUpdating = False

  OriginalSheet = ActiveSheet
  Workbooks("Workbook1.xlsm").Sheets("Sheet1").CopyAfter:=Workbooks("Workbook2.xlsm").Sheets("Copy_After")

  OriginalSheet.Activate

  Application.ScreenUpdating = True
End Sub

传奇这很有效。我不得不在OriginalSheet=ActiveSheet之前添加Set来修复一个对象变量错误,但现在它就像一个符咒。非常感谢。