我有一个包含两张主要工作表的工作簿,其中的值基于其他24张工作表。
每周有24名员工发送新数据。主要工作簿应将它们组合到主文件中。格式化和一切。
我使用过这段代码:
Sub GetSheets()
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
它可以将它们结合起来。问题是我需要24张数据来覆盖主工作簿中24页的数据。如果我从主工作簿中删除了24张纸,它会杀死主页上的公式。
答案 0 :(得分:0)
我遇到的问题是我需要24页的数据 覆盖主要工作簿中的24张数据
那么,在这种情况下,为什么不复制/粘贴值,而不删除和复制整个工作表。我想每个源表在主工作簿中都有一个具有相同名称的相应表:
Sub GetSheets()
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each src In ActiveWorkbook.Sheets
Set dest = ThisWorkbook.Sheets(src.name)
dest.UsedRange.ClearContents
src.UsedRange.Copy dest.Range(src.UsedRange.Address)
Next src
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub