打开工作簿和复印工作表

我需要帮助的macros将在同一个文件夹中打开工作簿,并将每个工作簿中的整个工作表复制到我的macros所在的工作簿。

有4个不同的工作簿,他们都有不同数量的工作表,我需要从每个工作簿中的所有工作表中。

我刚开始编程,并得到和错误对象所需的424线说:设置wsSheet = wbRegularesBruto.Sheets(“Movimentacao”)。Cells.Copy

有人可以指导我解决这个问题。 有谁知道更简单的方法将所有这些表复制到THmacros工作簿?

Option Explicit Sub TrainingHoursMacro() Dim wbTHMacro As Workbook, wsRegulares As Worksheet, wsRegularesDemitidos As Worksheet, wsTempActivos As Worksheet, wsTempJA As Worksheet, wsTempFit As Worksheet, _ wsTempDemitidos As Worksheet, wsPresenceSystem As Worksheet, wsResultados As Worksheet, wsDLList As Worksheet, wsSheet As Worksheet Dim wbRegularesBruto As Workbook, wsMovimentacao As Worksheet, wsDemitidos As Worksheet Dim wbTemporariosBruto As Workbook, wsTemporariosAtivos As Worksheet, wsJAAtivos As Worksheet, wsAprendizesFit As Worksheet Dim wbPresenceSystem As Workbook, wsTPCC As Worksheet Set wbTHMacro = Workbooks("Training Hours Macro.xlsm") Set wsRegulares = wbTHMacro.Sheets("Regulares") wsRegulares.Cells.ClearContents Set wbRegularesBruto = Workbooks.Open(Filename:="H:\BX-HR\BX-INDUSTRIAL RELATIONS\HR REPRESENTATIVES\PRIVATE\HRSSC\Brazil\Training Hours Macro\Regulares Bruto.xls") If Not wbRegularesBruto Is Nothing Then Set wsSheet = wbRegularesBruto.Sheets("Movimentacao").Cells.Copy wsSheet.Cells.Copy wsRegulares.Range("A1") Else Exit Sub End If End Sub 

 Set wsSheet = wbRegularesBruto.Sheets("Movimentacao").Cells.Copy 

wsSheet是一个Worksheet对象。 我假设你想把它分配给这张表,所以你可以使用:

 Set wsSheet = wbRegularesBruto.Sheets("Movimentacao") 

之后你可以使用Cells.Copy 。 你不能在一个声明中做到这一点。