我有一个工作簿,可以加速计算(长篇故事)我创建了一个宏来将三个工作表复制到另一个文件中,然后将另一个宏复制回来。
要复制的宏工作正常,但是在一张工作表中复制后要暂停复制的宏。
我在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
我有时会发现,如果我再删除新工作表并再次运行宏,它有时会工作并读取所有三个工作表,但有时也不会。
非常感谢任何帮助。
答案 0 :(得分:0)
引用YowE3K和nbayly直接从评论中给出正确答案(我必须寻找):
取消隐藏您的隐藏表格,并使用以下方法一次复制三个链接:
StorageWbk.Sheets(Array("Sh A", "Sh B", "Sh C")).Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count)