提问者:小点点

Excel 2016 中的宏


我正在使用以下宏在excel 2013中提取数据,现在我已经转移到excel 2016。在 excel 2016 中,宏不起作用。

Sub simpleXlsMerger()


    Dim bookList As Workbook

    Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object

    Application.ScreenUpdating = False

    Set mergeObj = CreateObject("Scripting.FileSystemObject")

    Set dirObj = mergeObj.Getfolder("path")

    Set filesObj = dirObj.Files

    For Each everyObj In filesObj

    Set bookList = Workbooks.Open(everyObj)

    Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy

    ThisWorkbook.Worksheets(1).Activate

    Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial

    Application.CutCopyMode = False

    bookList.Close

    Next

End Sub

有人可以帮我解决这个问题吗


共1个答案

匿名用户

试试这个:

Sub simpleXlsMerger()


    Dim bookList As Workbook

    Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object

    Application.ScreenUpdating = False

    Set mergeObj = CreateObject("Scripting.FileSystemObject")

    Set dirObj = mergeObj.Getfolder("path")

    Set filesObj = dirObj.Files

    For Each everyObj In filesObj

       Set bookList = Workbooks.Open(everyObj)

       'EDIT
       With bookList.Sheets(1)
          .Range("A2:IV" & .Range("A65536").End(xlUp).Row).Copy _
             ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Offset(1, 0)
       End With
       '/EDIT

       bookList.Close False

    Next

End Sub