在不离开当前工作簿的情况下将工作表复制到打开的工作簿?
问题描述:
我是VBA代码的新手。到目前为止,我已成功设法将我想要的工作表复制到另一个打开的工作簿。如何在不离开当前工作簿的情况下做到这一点?在不离开当前工作簿的情况下将工作表复制到打开的工作簿?
我已经找到答案,并尝试过Application.ScreenUpdating = False,但似乎没有任何效果,也许我没有正确使用它?
这是我到目前为止,它相当简单,但它的作品迄今复制工作表。
Sub Sample1()
Application.ScreenUpdating = False
Workbooks("Workbook1.xlsm").Sheets("Sheet1").CopyAfter:=Workbooks("Workbook2.xlsm").Sheets("Copy_After")
Application.ScreenUpdating = True
End Sub
答
所有你需要做的就是记录这片是ActiveSheet
在你的脚本的开头和Activate
一次你的脚本完成。
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”来修复一个对象变量错误,但它现在就像一个魅力一样。谢谢。 – nthpl888