Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Excel-Dateien zusammenführen (gleiche Tabellenstruktur)
zurück: Passwort (beim Öffnen) übernehmen beim kopieren? weiter: verschachteltes Target.Column, Target.Row, Target.Value Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
CapriSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
18. Feb 2013, 19:13
Rufname:

Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hi,

ich habe eine Zieldatei (Masterfile), die jeden Tag aktualisiert werden muss. Täglich kommt eine Quelldatei hinzu, deren Tabelle an die Zieldatei (an deren Tabelle) hinzugefügt werden muss. (natürlich ohne die erste Zeile, den Spaltenbeschriftungen) Dies möchte ich weitgehend automatisieren. Am Besten mit einem Button in der Zieldatei, mit Klick öffnet sich ein Fenster indem ich die Zieldatei auswähle. Mit OK bestätigen und "zack" sind die Daten an die Zieldatei (deren Tabelle) angefügt. Somit kann ich quasi die Zieldatei jeden Tag mit ein paar Klicks erweitern OHNE Copy&Paste nutzen zu müssen.

Die Tabellenstruktur der Ziel und Quelldateien sind dabei immer gleich.

Gibt es dafür ein Makro (0 Erfahrungen damit)? Danke!
Messiah
Hobby-VBA'ler


Verfasst am:
18. Feb 2013, 23:16
Rufname:


AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hallo,

ich habe mal einen Code gebastelt, der macht was du möchtest.

Er muss natürlich noch auf deine Dateien angepasst werden. Am Besten du schreibst noch ein paar Zeilen und Zellen Angaben in die Beschreibung deines Problems.

Der Code muss in ein Modul in die "Masterdatei" geschrieben werden.

Code:

Sub Daten_übertragen()
Dim Datei As Variant
Dim WBName, Lz1, Lz2

 Dim oFileDialog As FileDialog
    Set oFileDialog = Application.FileDialog(msoFileDialogFilePicker)
    With oFileDialog
        .Title = "Quelldatei auswählen"
        .ButtonName = "Datei öffnen"
        .AllowMultiSelect = False
        If .Show = True Then

                Datei = .SelectedItems(1)

        Else
        MsgBox ("keine Datei")
        End If
    End With
   
   
    Workbooks.Open Datei
    WBName = ActiveWorkbook.Name
    MsgBox WBName
Lz1 = Workbooks(WBName).Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Workbooks(WBName).Sheets(1).Range("A2:G" & Lz1).Copy

Lz2 = Workbooks("Master.xls").Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row

Workbooks("Master.xls").Sheets(1).Range("A" & Lz2 + 1).Insert
Application.CutCopyMode = False
Workbooks(WBName).Close

End Sub


Gruß Messiah
CapriSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Feb 2013, 11:44
Rufname:

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Danke schon einmal. Leider funktioniert es nicht so ganz. Ich wähle im Auswahlfenster eine Excel Datei aus, die der Masterdatei (in deren Tabelle1) hinzugefügt werden soll. Diese wird jedoch quasi einfach nur seperat geöffnet. Dazu erscheint die Fehlermeldung: "Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs". Was kann das sein?

ps: was meinst du mit "ich muss den Code noch anpassen?"
Isabelle :-)
Menschin


Verfasst am:
19. Feb 2013, 12:01
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hallöchen,

teste mal (in ein Standardmodul):

Code:
Option Explicit

Public Sub Daten_uebertragen()

    Dim strFile As String
    Dim objWorkbook As Workbook
    Dim objTargetWorksheet As Worksheet

    With Application.FileDialog(msoFileDialogFilePicker)

        .Title = "Quelldatei auswählen"
        .ButtonName = "Datei öffnen"
        .AllowMultiSelect = False

        If .Show Then

            strFile = .SelectedItems(1)

            Set objTargetWorksheet = ThisWorkbook.Worksheets(1)

            Set objWorkbook = Workbooks.Open( _
                Filename:=strFile, UpdateLinks:=0, ReadOnly:=True)

            With objWorkbook.Worksheets(1)

                .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp).Resize(1, 7)).Copy _
                    Destination:=objTargetWorksheet.Cells( _
                    objTargetWorksheet.Rows.Count, 1).End(xlUp).Offset(1, 0)

            End With

            objWorkbook.Close SaveChanges:=False

            Set objTargetWorksheet = Nothing
            Set objWorkbook = Nothing

        End If
    End With
End Sub

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
CapriSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Feb 2013, 13:24
Rufname:


AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Funkioniert super, danke!
CapriSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
27. Feb 2013, 17:18
Rufname:

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hi ich nochmal,

der Code funktioniert ja nur mit einer Datei, d.h. man kann nur eine Datei gleichzeitig auswählen. Cool wäre eins, mit dem man eine beliebige Anzahl an Dateien anwählen kann, dessen Inhalte dann angefügt werden. Am Besten so, dass die Zieltabelle bei jedem "Anfügen" gelöscht wird. Vor dem Zusammenführen wird die Zieltabelle also komplett geleert, so dass die Daten aus den ausgewählten Dateien ab Zelle A2 wieder angefügt werden. Überschreiben ginge natürlich auch alternativ zum löschen. Wer kann mir da helfen?
Isabelle :-)
Menschin


Verfasst am:
27. Feb 2013, 19:50
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hallöchen,

was soll das bringen? Du wählst 5 Dateien aus und nach ~5 Sekunden hast du nur die Werte der letzten Datei sichtbar in deiner Tabelle. Die der vier anderen Mappen sind schon wieder überschrieben / gelöscht.

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
CapriSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
28. Feb 2013, 11:26
Rufname:

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hatte mich wahrs zu unverständlich ausgedrückt. Anstatt nur eine Datei auswählen zu können wollte ich lediglich mehrere Dateien auswählen können (gleichzeitig), so dass diese dann angefügt werden. Habe aber schon selber eine Lösung gefunden.

Code:
Sub MergeAggregate()
'(C) Ramses
Dim Datei As String
Dim Arbeitsmappe As String
Dim Pfad As String
Pfad = "C:\Ordner\" 'Pfad _
angepasst
Datei = Dir(Pfad & "*.xlsx")
Application.ScreenUpdating = False
'Active Mappe
Arbeitsmappe = ActiveWorkbook.Name
Do While Datei <> ""
    'Öffnet eine Datei
    Workbooks.Open Datei
    'Kopiert von den Zeilen 2 bis zum Ende
    'in die aktive Mappe und fügt sie jeweils unten an
    Rows("2:" & ActiveWorkbook.ActiveSheet.Range("A1048576").End(xlUp).Row).Copy _
        Destination:=Workbooks(Arbeitsmappe).ActiveSheet.Range("A1048576").End(xlUp).Offset(1, _
0)
    'Schliesst die geöffnete Datei
    ActiveWorkbook.Close False
    'Prüft für die nächste Datei
    Datei = Dir()
Loop
Application.ScreenUpdating = True
End Sub


Das Problem hierbei ist, dass alles so wie es soll angefügt wird, jedoch von Spalte A bis "Unendlich". Wie bekomme ich es hin, dass aus den ausgewählten Dateien nur Daten kopiert werden, die sich zwischen Spalte A und z.B. F befinden? (so dass die Zieltabelle über die Spalte F hinaus nicht überschrieben wird)

Viel cooler wäre es natürlich, könnte ich deinen Code, der ja super für eine einzelne Datei funktioniert, dahingehend anpassen könnte, dass man mehrere Dateien auswählen kann, die angefügt werden sollen.
Isabelle :-)
Menschin


Verfasst am:
28. Feb 2013, 11:45
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hallöchen,

teste mal:

Code:
Public Sub MergeAggregate()

    Const FOLDER_PATH = "C:\Ordner\" 'Pfad angepasst

    Dim strFilename As String
    Dim objTargetWorksheet As Worksheet
    Dim objSourceWorkbook As Workbook

    Application.ScreenUpdating = False

    'Active Tabelle
    Set objTargetWorksheet = ActiveSheet

    'erste Datei suchen
    strFilename = Dir$(FOLDER_PATH & "*.xlsx")

    Do Until strFilename = vbNullString

        'Öffnet eine Datei
        Set objSourceWorkbook = Workbooks.Open(Filename:=FOLDER_PATH & strFilename)

        'Kopiert von den Zeilen 2 bis zum Ende
        With objSourceWorkbook.ActiveSheet

            .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 6)).Copy

        End With

        'in die aktive Mappe und fügt sie jeweils unten an
        With objTargetWorksheet

            .Paste Destination:=.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)

        End With

        'Schliesst die geöffnete Datei
        Call objSourceWorkbook.Close(SaveChanges:=False)

        'lese den nächsten Dateinamen
        strFilename = Dir$()

        Set objSourceWorkbook = Nothing

    Loop

    Set objTargetWorksheet = Nothing

    Application.ScreenUpdating = True

End Sub

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
CapriSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
28. Feb 2013, 12:10
Rufname:

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Fast perfekt. Funktioniert, Excel meldet jedoch beim Ausführen des Codes immer "Es befindet sich eine große Menge von Informationen in der Zwischenablage. Wollen Sie diese Informationen später in andere Programme einfügen? JA NEIN - bei 10 Dateien im Ordner kommt diese Meldung also 10 Mal. Ich muss also 10x auf JA oder NEIN drücken. Bei 50 Dateien müsste ich 50mal drücken...Smile
Isabelle :-)
Menschin


Verfasst am:
28. Feb 2013, 12:35
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis

AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Hallöchen,

folgende Änderung:

Code:
        'in die aktive Mappe und fügt sie jeweils unten an
        With objTargetWorksheet

            .Paste Destination:=.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)

        End With

        Application.CutCopyMode = False ' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        'Schliesst die geöffnete Datei
        Call objSourceWorkbook.Close(SaveChanges:=False)

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
CapriSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
28. Feb 2013, 12:42
Rufname:


AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur) - AW: Excel-Dateien zusammenführen (gleiche Tabellenstruktur)

Nach oben
       Version: Office 2010

Super geil! Danke!! Dem Forum hier fehlen "Bewertungssysteme", für dich gäbe es die maximale Anzahl! Smile
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Zusammenführen mehrer Zellen 3 someone27 412 03. Apr 2008, 18:55
Detlef 42 Zusammenführen mehrer Zellen
Keine neuen Beiträge Excel Formeln: Zusammenführen verschiedener Datenblätter 0 saxophoniade 727 15. Nov 2007, 18:12
saxophoniade Zusammenführen verschiedener Datenblätter
Keine neuen Beiträge Excel Formeln: Werte suchen und zusammenführen. 5 Hunter73 520 11. Nov 2007, 15:06
Hunter73 Werte suchen und zusammenführen.
Keine neuen Beiträge Excel Formeln: Gleiche Daten überführen 4 Volle 494 15. Sep 2007, 12:42
ransi Gleiche Daten überführen
Keine neuen Beiträge Excel Formeln: Inhalte von Zellen zusammenführen 2 Gast 508 10. Sep 2007, 16:50
Gast Inhalte von Zellen zusammenführen
Keine neuen Beiträge Excel Formeln: Excel Tabelleninhalt zusammenführen 2 Gast 1094 04. Sep 2007, 19:24
Gast Excel Tabelleninhalt zusammenführen
Keine neuen Beiträge Excel Formeln: Berechnung erst ab zwei gleiche Zellen 2 Fabi 571 05. Jul 2007, 14:18
Gast Berechnung erst ab zwei gleiche Zellen
Keine neuen Beiträge Excel Formeln: Text aus mehreren Spalten zusammenführen 6 Normi01 1612 14. Jun 2007, 22:52
Normi01 Text aus mehreren Spalten zusammenführen
Keine neuen Beiträge Excel Formeln: Gleiche Worte in Spalte zählen und Zahl einmal ausgeben 4 Gast 1194 02. Apr 2007, 13:03
Gast Gleiche Worte in Spalte zählen und Zahl einmal ausgeben
Keine neuen Beiträge Excel Formeln: Zwei Excel-Dateien miteinander verknüpfen 8 Thomas_B. 895 09. März 2007, 13:23
Thomas_B. Zwei Excel-Dateien miteinander verknüpfen
Keine neuen Beiträge Excel Formeln: gleiche Werte abfragen 3 Gastt 803 07. März 2007, 00:02
Gast gleiche Werte abfragen
Keine neuen Beiträge Excel Formeln: Daten in verschiedenen Excel -Datenblätter zusammenführen 6 prymano 1120 02. März 2007, 12:55
prymano Daten in verschiedenen Excel -Datenblätter zusammenführen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft-Excel Diagramme