Jak połączyć kilka skoroszytów programu Excel w jedną książkę

-1

Mam kilka skoroszytów na wiele arkuszy, które chciałbym połączyć, aby móc przeszukiwać je wszystkie jednocześnie. Tak więc scalony skoroszyt będzie zawierał zakładki 1,2,3 pierwszego skoroszytu, a następnie zakładki 1,2,3 następnego skoroszytu.

Nic nie wiem o programowaniu VBA, makr ani nic podobnego. Byłbym bardzo wdzięczny, gdyby ktoś dał mi skrypt i dokładnie powiedział, jak go zmodyfikować.

Dziękuje za przeczytanie!

użytkownik303652
źródło
1
Ile jest kilku? Przez około 10 lat można to zrobić ręcznie, wystarczy wybrać wszystkie arkusze i kliknąć prawym przyciskiem myszy, przenieść lub skopiować do nowego skoroszytu.
mcalex

Odpowiedzi:

0

Pobierz RDBMerge Add-in . To byłby najlepszy sposób na osiągnięcie tego.

Pobierz i umieść go gdzieś, gdzie można go znaleźć i włączyć w programie Excel. Zalecam użycie domyślnej lokalizacji dodatku wC:\Documents and Settings\User\Application Data\Microsoft\AddIns\

Kliknij Plik, kliknij Opcje, kliknij kartę Dodatki. Z menu rozwijanego Zarządzaj wybierz Dodatki programu Excel i kliknij przycisk Przejdź. Użyj „Przeglądaj”, aby przejść do dodatku, a następnie kliknij OK. Sprawdź, czy RDBMerge jest zaznaczone na liście dodatków, a następnie kliknij OK.

Następnie w programie Excel znajdziesz przycisk na wstążce, kliknij go i postępuj zgodnie ze wskazówkami.


Lub z VBA

Sub CopyBooks()
    Application.ScreenUpdating = False
    Application.Calculation = xlManual

    Dim destinationWorkbook As Workbook
    Set destinationWorkbook = ThisWorkbook
    Dim sourceWorkbook As Workbook
    Dim sourceWorksheet As Worksheet
    Const path As String = "C:\path\to\"
    Dim file As Variant

    Dim currentSheets As Long
    currentSheets = destinationWorkbook.Sheets.Count

    file = Dir(path & "*.xl*")

    While file <> ""
        Set sourceWorkbook = Workbooks.Open(path & file)
            For Each sourceWorksheet In sourceWorkbook.Worksheets
                sourceWorksheet.Copy after:=destinationWorkbook.Worksheets(currentSheets)
                currentSheets = currentSheets + 1
            Next
            sourceWorkbook.Close savechanges:=False
            file = Dir
    Wend

    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
    End Sub
Raystafarian
źródło