Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen verschiedener Dateien zusammenführen | Herbers Excel-Forum


Betrifft: Zellen verschiedener Dateien zusammenführen von: m.assmann@ehl-net.de
Geschrieben am: 13.02.2012 12:05:22

Hallo alle zusammen,

bin neu hier und benötige mal eure Hilfe. Ich habe ca. 150 immer gleich aufgebaute Excel Dateien in einem Ordner.Ich möchte immer die gleichen Zellen aus verschiedenen Arbeitsblättern in eine neue Excel Datei auslesen in der diese dann untereinander aufgelistet werden.
Kann mir hier jemand helfen? Tausend Dank

  

Betrifft: AW: Zellen verschiedener Dateien zusammenführen von: marcl
Geschrieben am: 13.02.2012 12:22:56

Hallo,

dazu benötigst Du verschiedene Dinge:
Eine Zieldatei, in der die Daten abliegen sollen
Eine Schleife, welche alle Dateien eines Ordners ausliest:

Sub koppieren()

    Dim datei As String
    Dim pfad As String
    Dim i As Integer
    Dim zielmappe As String
    
    zielmappe = "Pfad und Name Deiner Zieldatei"
    pfad = "Dein Pfadname"
    datei = Dir(pfad)  ' am Ende muss immer /  stehen!
    Do While datei <> ""  ' Schleife, um jede Datei auszulesen
        Workbooks.Open Filename:=pfad & datei  ' Datei öffnen
        i = i + 1 ' Zählvariable für die Zeilen
        ' Cells wird wie folgt verwendet Cells(Zeilennummer, Spaltennummer)
        Workbooks(zielmappe).Cells(i, 1) = ActiveWorkbook.Cells(1, 1)
        ' ... alle benötigten Zeilen und Spalten einfügen
        ActiveWorkbook.Close savechanges:=False   ' Datei schließen, ohne Änderungen zu  _
speichern
        datei = Dir()  ' neue Datei aus dem Ordner lesen
    Loop  ' Ende der Schleife

End Sub

Ich hoffe, dass war etwas hilfreich.

Gruß
marcl


  

Betrifft: furchtbar falsch! von: Rudi Maintaire
Geschrieben am: 13.02.2012 14:05:35

Hallo,
Workbooks(zielmappe).Cells(i, 1) = ActiveWorkbook.Cells(1, 1)
kann nicht funktionieren!
Eher in der Art:
Workbooks(zielmappe).Sheets(1).Cells(i, 1) = ActiveWorkbook.Sheets(1).Cells(1, 1)

Gruß
Rudi


  

Betrifft: AW: furchtbar falsch! hast recht, Sorry o.T. von: marcl
Geschrieben am: 13.02.2012 15:18:42




  

Betrifft: AW: Zellen verschiedener Dateien zusammenführen von: m.assmann@ehl-net.de
Geschrieben am: 13.02.2012 15:15:38

Ihr seit echt super schnell. Erst mal vielen Dank. Aber leider habe ich keinerlei VBA Erfahrungen und blicke da noch nicht ganz durch. Also die Lösung kopieren und als Makro speichern ist mir klar. Aber ich kann noch nicht allen erfordlerlichen Anweisungen folgen.
Meine Zieldatei ist C:\Auslese.xlsx und die Quelldateien stehen unter i:\Verkauf\2012.

Bitte erklärt mich nicht für Blöde aber ich habe so etwas noch nicht gemacht finde es aber ungemein interresannt.


  

Betrifft: AW: Zellen verschiedener Dateien zusammenführen von: marcl
Geschrieben am: 13.02.2012 15:20:13

Ok, in welchen Zellen stehen denn die Daten, die Du kopieren möchtest?

Gruß
marcl


  

Betrifft: AW: Zellen verschiedener Dateien zusammenführen von: Mario
Geschrieben am: 14.02.2012 07:10:43

Jeweils in den Zellen C5 Tabelle1, Zellen C7 Tabelle1, Zellen C28 Tabelle3 aller xlsx Dateien des Ordners i:\Verkauf\2012


  

Betrifft: AW: Zellen verschiedener Dateien zusammenführen von: marcl
Geschrieben am: 14.02.2012 08:21:09

Guten Morgen,

dieses Makro kannst Du in der Zieldatei (C:\Auslese.xlsx ) in ein Modul kopieren. Ich hoffe, ich habe alles ausreichend beschrieben.



Option Explicit

Sub kopieren()
'######################################################################
'Makro zum Öffnen aller Dateien eines Zielverzeichnisses
'Die Daten aus den Bereichen Tabelle1 C5 und C7 sowie
'Tabelle3 C28 werden in Zieldatei (diese Datei)
'Tabelle1 Spalten A bis C kopiert.
'die Daten jeder Datei werden in eine eigene Zeile geschrieben
'######################################################################
    ' Variablen deklarieren
    Dim datei As String
    Dim pfad As String
    Dim i As Integer

    i = 1
    ' Quellordner wird festgelegt
    pfad = "i:\Verkauf\2012\"
    ' Dateien des Quellordners ermitteln
    datei = Dir(pfad)

    ' Schleife, um jede Datei auszulesen
    Do While datei <> ""
        ' Datei öffnen (Pfad wird aus den Variablen pfad und datei zusammengesetzt
        Workbooks.Open Filename:=pfad & datei
        ' Zählvariable für die Zeilen (je Datei eine neue Zeile)
        i = i + 1
        ' Cells wird wie folgt verwendet Cells(Zeilennummer, Spaltennummer)
        ' Wenn das Makro in der Zieldatei steht, kann die Datei ThisWorkbook genannt werden.
        ThisWorkbook.Sheets("Tabelle1").Cells(i, 1) = ActiveWorkbook.Sheets("Tabelle1").Cells(5, _
 3)
        ThisWorkbook.Sheets("Tabelle1").Cells(i, 2) = ActiveWorkbook.Sheets("Tabelle1").Cells(7, _
 3)
        ThisWorkbook.Sheets("Tabelle1").Cells(i, 3) = ActiveWorkbook.Sheets("Tabelle3").Cells( _
28, 3)
        ' Datei schließen, ohne Änderungen zu speichern
        ActiveWorkbook.Close savechanges:=False
        ' neue Datei aus dem Ordner lesen
        datei = Dir()
    ' Ende der Schleife
    Loop
End Sub

Gruß
marcl


  

Betrifft: AW: Zellen verschiedener Dateien zusammenführen von: Mario
Geschrieben am: 14.02.2012 10:42:59

Tausend Dank du bist mein Held. Läuft absulut sauber.


Beiträge aus den Excel-Beispielen zum Thema "Zellen verschiedener Dateien zusammenführen"