将工作表从一个工作簿复制到另一个工作簿“不工作”

时间:2018-02-16 21:10:09

标签: excel vba worksheet

我有工作簿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中的旧“数据表”。此外,两个工作簿将针对它们所使用的每个项目重命名,因此我无法对工作簿名称进行硬编码。 有任何想法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您在打开它时将wbb var设置为工作簿对象,因此Workbooks("wbb")应该只是wbb

wba.workSheets("Data Sheet").Copy Before:=wbb.workSheets("Sheet 6")

我仍然怀疑名为Sheet 6的工作表。通常,人们不会在默认工作表名称中插入空格。