我有一个包含一个工作表(“DB 输出”或 Sheet 34)的工作簿,我想将其复制到同一个文件夹中的几个(大约 45 个)文件中。
没有一个目标文件有一个名为“DB Output”的现有工作表 - 目标是找到一种方法将这个工作表的副本、forumlas 和所有文件插入到每个文件中。
该工作表上需要复制到每本书同名工作表的单元格范围是A1:PE5
该工作表包含对当前所在书中单元格的引用,但是由于我试图将工作表复制到所有文件共享相同的模板,我希望引用是本地文件,而不是原始文件。
我试过查看 RDBMerge,但它似乎是用于合并工作表,虽然我确实想这样做,但它不会帮助我快速多次完成。
同样,我在类似的情况下查看了 SO,这是最接近的,但是我尝试调整该代码失败了,因为我只有一个工作组。无论如何,包括你已经尝试过的东西总是有用的,这是我现有的尝试:
Option Explicit
Public Sub splitsheets()
Dim srcwb As Workbook, trgwb As Workbook
Dim ws As Worksheet, t1ws As Worksheet
Dim rng1 As Range
Dim trgnm As String
Dim fpath As String
Application.ScreenUpdating = False
'--> Set this to the location of the target workbooks
fpath = "C:/file/path/"
Set srcwb = ThisWorkbook
For Each ws In srcwb.Worksheets
trgnm = ws.Name
'--> Change A1:B3 to the range to be copied to inside page
Set rng1 = srcwb.Sheets(trgnm).Range("A1:PE5")
Set trgwb = Workbooks.Open(fpath & trgnm & ".xlsm")
With trgwb
Set t1ws = .Sheets("DB Output")
End With
'--> Change A1:B3 to the range where you want to paste
rng1.Copy t1ws.Range("A1:PE5")
trgwb.Close True
Next
Application.ScreenUpdating = True
End Sub
但是,这从工作簿中包含 DB 输出(要复制的工作表)的第一个工作表开始,并给出一个错误,即该目录中不存在“NameOfSheet1.xlsm”(它不存在)。
任何帮助深表感谢。