Excel 将工作簿内容复制到其他工作簿

Excel 将工作簿内容复制到其他工作簿,excel,vba,Excel,Vba,我想将工作簿的工作表内容复制到另一个工作簿 此代码只打开两个工作簿,不复制和粘贴值 Sub btnClickMev2() Dim x As Workbook Dim y As Workbook 'Open Workbooks Set x = Workbooks.Open("H:\Desktop\test.xls") Set y = Workbooks.Open("H:\Desktop\Book1v3.xlsm") 'Copy from x Workbook x.Sheets("Query2"

我想将工作簿的工作表内容复制到另一个工作簿

此代码只打开两个工作簿,不复制和粘贴值

Sub btnClickMev2()
Dim x As Workbook
Dim y As Workbook

'Open Workbooks
Set x = Workbooks.Open("H:\Desktop\test.xls")
Set y = Workbooks.Open("H:\Desktop\Book1v3.xlsm")

'Copy from x Workbook
x.Sheets("Query2").Range("A1:T1036").Copy
'Paste to Y Workbook
y.Sheets("Sheet2").Range("A1:T1036").PasteSpecial
'Close x:
x.Close
End Sub

希望这对您有所帮助,请在此找到并为您的代码重新编写:

Sub foo3()
Dim x As Workbook
Dim y As Workbook
Dim vals as Variant

'## Open both workbooks first:
Set x = Workbooks.Open("H:\Desktop\test.xls")
Set y = Workbooks.Open("H:\Desktop\Book1v3.xlsm")

'Store the value in a variable:
vals = x.Sheets("Query2").Range("A1:T1036").Value

'Use the variable to assign a value to the other file/sheet:
y.Sheets("Sheet2").Range("A1:T1036").Value = vals 

'Close x:
x.Close

End Sub

在粘贴之前和/或之后,您可能必须关闭
应用程序.CutCopyMode
。这就是我将要做的事情,尽管我可能会跳过额外的变量,直接进入
y.Sheets(“Sheet2”).Range(“A1:T1036”).Value=x.Sheets(“Query2”).Range(“A1:T1036”).Value
这是一个非常干净的方法+1