我有工作簿A,它执行大量计算以选择在构造中使用的零件,并在工作表“数据表”上列出零件。工作簿B处理定价,并且有一个名为“数据表”的相同工作表,我想用工作簿A中的“数据表”替换工作簿A中的宏。
这是我到目前为止所做的:
Sub CopyToWorkBookB()
Dim wbb As Workbook
Dim wba As Workbook
Dim filename As Variant
Set wba = ActiveWorkbook
filename = Application.GetOpenFilename()
Set wbb = Workbooks.Open(filename)
wba.Activate
Sheets("Data Sheet").Copy Before:=Workbooks("wbb").Sheets("Sheet 6")
End Sub
到目前为止,它在最后一行给出了错误,但即使修复该错误也不会使它完成我想要的所有操作。我希望它不仅仅是添加一个新副本,而是替换Workbook B中的旧“数据表”。此外,两个工作簿将针对它们所使用的每个项目重命名,因此我无法对工作簿名称进行硬编码。 有任何想法吗?谢谢。
答案 0 :(得分:0)
您在打开它时将wbb var设置为工作簿对象,因此Workbooks("wbb")
应该只是wbb
。
wba.workSheets("Data Sheet").Copy Before:=wbb.workSheets("Sheet 6")
我仍然怀疑名为Sheet 6
的工作表。通常,人们不会在默认工作表名称中插入空格。