如何在不同的工作簿之间切换以复制/粘贴信息

这是我第一次尝试在工作中编写一个macros,所以如果这很简单,请在我的代码中find一个错误的解决scheme,

基本上,我有一个原始数据文件,我想复制不同的过滤数据到一个新的工作簿。 我已经通过将M列复制到新创build的工作簿的部分,但是我不知道如何使代码返回到原始数据文件并复制另一列,然后将其粘贴到同一个新工作簿中的另一列中。

这是我到目前为止,与'''的线是我试过,并得到错误。 不知道为什么它不工作

Dim FilePath As String Dim SourceFile As String Sub Reconcile() FilePath = Sheets("Reconcile").Range("E5") 'location of saved attachment If Right(FilePath, 1) <> "\" Then FilePath = FilePath & "\" SourceFile = Sheets("Reconcile").Range("E7") 'name of attachment file FilePath = FilePath & SourceFile Application.DisplayAlerts = False Application.ScreenUpdating = False Workbooks.Open Filename:=FilePath, UpdateLinks:=False 'open sourcefile workbook ActiveWorkbook.CheckCompatibility = False '''Set DataFile = Workbooks(ActiveWorkbook.Name) 'activeworkbook is the raw data file 'Copy the date column into a new wb and remove duplicates Columns("M:M").Select Selection.Copy Workbooks.Add ActiveSheet.Paste Application.CutCopyMode = False ActiveSheet.Range("$A$1:$A$1666").RemoveDuplicates Columns:=1, Header:=xlNo Rows(1).Delete '''DataFile.Sheets("Sheet1").Range("A1").Select End Sub 

最后一行是我试图回到原始数据文件,并select单元格A1。

谢谢!

首先创build一个Worksheet对象和几个Workbook对象

 Dim wsReconcile As Worksheet Dim wbDatafile As Workbook Dim wbNewfile As Workbook 

然后,在代码的开始处,在打开任何新的工作簿之前,将wsReconcile设置为您的“协调”表单

 Set wsReconcile = Worksheets("Reconcile") 

然后,当你做你的WorkBooks.Open你的数据文件时,你可以把它分配给wbDatafile对象

 Set wbDatafile = Workbooks.Open(Filename:=FilePath, UpdateLinks:=False) 'open sourcefile workbook 

而且,当您添加新的工作簿时,将其分配给wbNewfile对象

 Set wbNewfile = Workbooks.Add 

然后,每次需要引用数据文件时,请使用wbDatafile对象,例如

 wbDatafile.Sheets("Sheet1").Range("A1").Select 

每次需要引用新文件时,请使用wbNewfile对象,例如

 wbNewfile.Sheets("Sheet1").Range("$A$1:$A$1666").RemoveDuplicates Columns:=1, Header:=xlNo wbNewfile.Sheets("Sheet1").Rows(1).Delete 

而且,当您想要引用原始的协调表单时,可以使用wsReconcile对象,例如

 SourceFile = wsReconcile.Range("E7")