在Excel中复制工作表对象定义的错误

时间:2015-05-07 18:09:34

标签: vba excel-vba excel

我在这个论坛上看到这个问题已经出现了几次,但没有一个解决方案对我有所帮助。下面的代码实际上工作,但后来它开始抛出一个应用程序定义或对象定义的错误,现在将无法正常工作。代码在Excel模板中运行,打开目录中的每个Excel报表,然后将2个工作表粘贴到文档中。

Sub updateED()

Dim pathout, pathin As String
Dim WbOutput As Workbook
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(filepath)

'step through each xls file
For Each objFile In objFolder.Files
        If InStr(objFile, ".xls") Then

            Set WbOutput = Workbooks.Open(objFile)

            Application.DisplayAlerts = False

            'drop in additional templates
            ThisWorkbook.Sheets(Array("Business Entity", "Facility")).Copy before:=WbOutput.Sheets("Mbr_Detail_ED")

        End If
    Next

End Sub

1 个答案:

答案 0 :(得分:0)

看看这是否有帮助

Option Explicit
Sub updateED()
Dim Pathout As String
Dim Pathin As String
Dim WbOutput As Workbook
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Temp\")

'step through each xls file
For Each objFile In objFolder.Files
        If InStr(objFile, ".xls") Then

            Set WbOutput = Workbooks.Open(objFile)

            Application.DisplayAlerts = False

            'drop in additional templates
            ThisWorkbook.Sheets(Array("Business Entity", "Facility")).Copy before:=WbOutput.Sheets("Mbr_Detail_ED")

        End If
    Next

End Sub