如何使用VBA替换工作表?

1 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
Run Code Online (Sandbox Code Playgroud)

vac*_*cip 5

尝试:

classeur1.Sheets(1).Copy Before:=ThisWorkbook.Sheets(2)
Run Code Online (Sandbox Code Playgroud)

而不是

classeur1.Sheets(1).Copy
classeur1.Sheets(1).Paste Destination:=ThisWorkbook.Sheets(2).Range("A1")
Run Code Online (Sandbox Code Playgroud)

但请注意,复制整个工作表将复制整个工作表,而不仅仅是其内容。

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

classeur1.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(2).Range("A1")
Run Code Online (Sandbox Code Playgroud)