我有一个工作簿,可以在其中加速计算(长话短说),我创建了一个宏来将三张工作表复制到另一个文件,然后另一个宏将它们复制回它。
复制出的宏工作正常,但是复制回的宏在复制到一张纸后会停止。
我在 StackOverflow 中搜索并发现了一些类似的问题,但找不到有效的答案。一篇文章认为这与 Office 版本有关,另一篇文章则认为与 Shift 键问题有关。
这是代码:
Application.Calculation = xlCalculateManual
Application.ScreenUpdating = False
Application.DisplayAlerts = True
Application.EnableEvents = False
'
' Set up the workbooks
'
Set ThisWkb = ThisWorkbook
Fname = Application.GetOpenFilename( _
fileFilter:="Excel Macro Files, *.xlsm", _
Title:="Select the Storage File", _
MultiSelect:=False)
Set StorageWbk = Workbooks.Open(Fname)
'
MsgBox ("Beginning process - please click ok to any macro warning - you will see a confirmation when complete")
StorageWbk.Sheets("Sh A").Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count)
StorageWbk.Sheets("Sh B").Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count)
StorageWbk.Sheets("Sh C").Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count)
StorageWbk.Close
我有时发现,如果我删除新工作表并再次运行宏,它有时会起作用并读取所有三张工作表,但有时也不会。
非常感谢任何帮助。
最佳答案
直接引用 YowE3K 和 nbayly 的评论来给出正确答案(我必须寻找它):
取消隐藏隐藏的工作表并使用以下方法一次复制三个链接:
StorageWbk.Sheets(Array("Sh A", "Sh B", "Sh C")).Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count)
关于vba - 将工作表复制到工作簿的宏在一张工作表后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41190702/