Код VBA не работает - попытка объединить несколько файлов Excel в одну книгу

Я очень новичок в VBA, и я пытался изменить этот код. Файлы, расположенные в:

/ Пользователи /Isa/Desktop/ Участники /S02/

Я хотел бы создать новую рабочую книгу под названием S02.Результаты, объединяющие четыре следующих файла:

S02_BirdsRun1-BirdsRun1.xls S02_birdsRun2-BirdsRun2.xls S02_SyllableRun1-SyllablesRun1.xls S02_SyllableRun2-SyllablesRun2.xls

и сохраните имена файлов как новые имена рабочих листов.

В конце концов я хотел бы, чтобы этот макрос прошел через всех разных участников (S03, S04), которые имеют одинаковые файлы, и создал новую рабочую книгу из 4 файлов.

Буду признателен за любую помощь! Вот код, который я пытаюсь изменить:

"Объединение рабочих книг" Томми Майлза "Этот образец просматривает все файлы Excel в указанном каталоге и объединяет их в одну рабочую книгу. Переименовывает листы на основе имени оригинальной рабочей книги:

Sub CombineWorkbooks()
Dim CurFile As String
Dim DirLoc As String 
Dim DestWb As Workbook
Dim ws As Object 'allows for different sheet types

DirLoc = ThisWorkbook.Path & "/Users/Isa/Desktop/Participants/Try/"   'location of files
CurFile = Dir(DirLoc & "*.xls*")

Application.ScreenUpdating = False
Application.EnableEvents = False

Set DestWb = Workbooks.Add(xlWorksheet)

Do While CurFile <> vbNullString
Dim OrigWb As Workbook
Set OrigWb = Workbooks.Open(FileName:=DirLoc & CurFile, ReadOnly:=True)

' Limit to valid sheet names and remove .xls*
CurFile = Left(Left(CurFile, Len(CurFile) - 5), 29)

For Each ws In OrigWb.Sheets
    ws.Copy After:=DestWb.Sheets(DestWb.Sheets.Count)

    If OrigWb.Sheets.Count > 1 Then
        DestWb.Sheets(DestWb.Sheets.Count).Name = CurFile & ws.Index
    Else
        DestWb.Sheets(DestWb.Sheets.Count).Name = CurFile
    End If
Next

OrigWb.Close SaveChanges:=False
CurFile = Dir
Loop

Application.DisplayAlerts = False
DestWb.Sheets(1).Delete
Application.DisplayAlerts = True

Application.ScreenUpdating = True
Application.EnableEvents = True

Set DestWb = Nothing

End Sub

Я получаю сообщение об ошибке: "CurFile = Dir (DirLoc &".xls")", но я понятия не имею, почему. Макрос хранится в моей личной рабочей книге. Я использую Microsoft Excel для Mac 2011

Спасибо,

это

0 ответов

Другие вопросы по тегам