将工作表从源文件复制到活动工作簿

时间:2015-03-05 22:14:37

标签: excel vba excel-vba

我写了以下代码。

Sub copysheet()
Dim source_wb As Workbook
Set source_wb = Workbooks.Open("H:\Q1Data.xlsx")

source_wb.Worksheets("Sheet1").Copy  Before:=ActiveWorkbook.Worksheets("Sheet1")

ActiveWorkbook.Save
ActiveWorkbook.Close

End Sub

我认为问题出在复制粘贴行中。我找到了其他代码,但我不想为了这么简单的目的而使代码复杂化。任何帮助表示赞赏。感谢。

2 个答案:

答案 0 :(得分:0)

将ActiveWorkbook设置为变量并在复制表过程中引用它

Dim current_wb as Workbook
Dim source_wb As Workbook

Set current_wb = ActiveWorkbook
Set source_wb = Workbooks.Open("H:\Q1Data.xlsx")

source_wb.Worksheets("Sheet1").Copy Before:=current_wb.Worksheets("Sheet1")

current_wb.Save
current_wb.Close

答案 1 :(得分:0)

如评论所述,您也可以尝试下面的内容。 HTH。

source_wb.Worksheets("Sheet1").Copy Before:=ThisWorkbook.Worksheets("Sheet1")