我写了以下代码。
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
我认为问题出在复制粘贴行中。我找到了其他代码,但我不想为了这么简单的目的而使代码复杂化。任何帮助表示赞赏。感谢。
答案 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")