Объединение нескольких книг из разных папок в одну

Интересно, может ли кто-нибудь помочь мне, пожалуйста.

Я использую приведенный ниже код, чтобы позволить пользователю объединить несколько книг из разных папок в один рабочий лист «Сводка».

Sub Merge()

      Dim DestWB As Workbook, WB As Workbook, WS As Worksheet, SourceSheet As String
      Set DestWB = ActiveWorkbook
      SourceSheet = "Input"
      startrow = 7
      FileNames = Application.GetOpenFilename( _
      filefilter:="Excel Files (*.xls*),*.xls*", _
      Title:="Select the workbooks to merge.", MultiSelect:=True)
      If IsArray(FileNames) = False Then
          If FileNames = False Then
              Exit Sub
          End If
      End If
      For n = LBound(FileNames) To UBound(FileNames)
          Set WB = Workbooks.Open(Filename:=FileNames(n), ReadOnly:=True)
          For Each WS In WB.Worksheets
              If WS.Name = SourceSheet Then
                  With WS
                      If .UsedRange.Cells.Count > 1 Then
                          dr = DestWB.Worksheets("Input").Range("C" & DestWB.Worksheets("Input").Rows.Count).End(xlUp).Row + 1
                          Lastrow = .Range("C" & Rows.Count).End(xlUp).Row
                          If Lastrow >= startrow Then
                              .Range("A" & startrow & ":AE" & Lastrow).Copy
                              DestWB.Worksheets("Input").Cells(dr, "A").PasteSpecial xlValues
                          End If
                      End If
                  End With
                  Exit For
              End If
          Next WS
          WB.Close savechanges:=False
      Next n
  End Sub

Код работает, но я хотел бы его немного изменить, чтобы вместо того, чтобы пользователю приходилось вручную выбирать файлы для слияния, макрос считывал список имен файлов и путей к файлам и автоматически копировал и вставлял соответствующие данные. в лист «Сводка».

Я настроил сводную рабочую книгу, чтобы появился лист под названием «Списки» с именами файлов, перечисленными в B3: B10, а в C3: C10 — соответствующими путями к файлам. Я искал «Stackoverflow» и выполнял поиск в Google, и хотя я нашел несколько сообщений по этой теме, они не показывают мне, как читать из списка имен файлов и путей, а скорее жестко кодируют конкретный каталог, который не соответствует моим потребностям.

Мне просто интересно, может ли кто-нибудь взглянуть на это, пожалуйста, и предложить некоторые рекомендации о том, как я могу добиться этого.

Большое спасибо и с уважением


person IRHM    schedule 03.03.2013    source источник


Ответы (1)


Пожалуйста, используйте надстройку RDBMerge.

RDBMerge — это удобный способ объединения данных из нескольких книг Excel, файлов csv и xml в сводную книгу.

http://www.rondebruin.nl/merge.htm

person Community    schedule 03.03.2013
comment
Привет @ user2063626, большое спасибо, что нашли время ответить на мой пост и за ссылку. - person IRHM; 04.03.2013