如何使用VBA替换工作表?

时间:2016-08-04 14:52:12

标签: excel vba excel-vba

我想从工作簿中复制工作表并将其粘贴到我的活动工作簿中的第二个工作表中。我是vba的新手,看起来并不困难,但我的代码不起作用。复制的工作表在新工作簿中打开,而不是在我的活动工作簿中打开。

感谢您的帮助!

我的代码:

Sub copyPaste()

  Dim classeur1 As Excel.Workbook
  Dim classeur2 As Excel.Workbook

  Set classeur1 = Workbooks.Open("Macintosh HD:Users:LouiseDhainaut:Documents:Stage:test_modifiable.xlsx")
  Set classeur2 = ThisWorkbook

  classeur1.Sheets(1).Copy
  classeur1.Sheets(1).Paste Destination:=ThisWorkbook.Sheets(2).Range("A1")


  classeur2.Save
  classeur1.Close

End Sub

1 个答案:

答案 0 :(得分:3)

尝试:

classeur1.Sheets(1).Copy Before:=ThisWorkbook.Sheets(2)

而不是

classeur1.Sheets(1).Copy
classeur1.Sheets(1).Paste Destination:=ThisWorkbook.Sheets(2).Range("A1")

虽然请注意复制整个工作表会复制整个工作表,而不仅仅是其内容。

如果您只想复制内容,则需要使用不同的代码,例如:

classeur1.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(2).Range("A1")