Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

ca 2000 Excel Dateien in einer zusammenfassen





Frage

Liebe Community, ich habe ein Excel Problem. Und zwar würde ich gerne aus ca. 2000 Dateien jeweils 3 Zellen auslesen (ca 1000 Dateien haben das gleiche Format) und dies in einer Datei zusammenfassen. Habe gehört sowas funktioniert über Makros doch wenn mal eine Zelle eine andere Formatierung hat funktioniert das alles nicht mehr. Würde mich sehr freuen wenn mir jemand weiterhelfen könnte. Habe hier ein paar andere Post gelesen und wie ich sehe sind hier sehr viele hilfsbereite Menschen. Danke im voraus Martin H

Antwort 1 von Beverly

Hi Martin,

sind es immer die selben Zellen oder unterschiedliche? Wenn es unterschiedliche sind - wie kann man feststellen, welche Zellen übertragen werden sollen? Wo sollen sie in der zusammenfassenden Arbeitsmappe hinkopiert werden? Liegen alle 2000 Arbeitsmappen in ein und dem selben Verzeichnis?

Bis später,
Karin

Antwort 2 von Sp|n.aT2

hi karin
in erster Linie sind es immer die gleichen Zellen im meinem Fall wären es immer D2 H13 & H14. Leider habe nicht alle Dateien das gleiche Format. Nebeneffekt bei dem ganzen wäre das man sofort sieht welche Dateien nicht das gleiche Format haben und könnte diese anpassen.
Alle Zellen sollten in einer Spalte liegen und am besten mit dem Dateinamen.
Ja alle Dateien liegen in einem Verzeichnis.

danke die schnelle Hilfe
lg
martin

Antwort 3 von Beverly

Hi Martin,

was verstehst du unter "nicht das gleiche Format"? Meinst du den Dateityp (Excel-Arbeitsmappen, Text-Dateien und CSV-Dateien oder so)? Oder ist nur die Formatierung der Zellen unterschiedlich? Soll die Formatierung auch übernommen werden? Ich nehme an, du meinst nicht ,dass alle Zellen in einer Spalte liegen sollen sondern in einer Zeile - also z.B. Dateiname in Spalte A, Wert aus Zelle D2 in Spalte B, Wert aus Zelle H13 in Spalte C und Wert aus Zelle H14 in Spalte D?

Bis später,
Karin

Antwort 4 von Sp|n.aT

hi karin,

es sind alles Excel-Dateien nur die Formatierung der Zellen ist eine andere. Ne die Formatierung sollte nicht übernommen werden
Sorry mein Fehler meinte Zeile (Excelanfänger*g*)

lg
martin

Antwort 5 von Beverly

Hi Martin,

versuche es mit diesem Code

Sub daten_uebernehmen()
    Dim Dateien As Integer
    Dim loZeile As Long
    Dim strPfad As String
    loZeile = 2
    strPfad = "C:\Test" ' <== Pfad anpassen
    Application.DisplayAlerts = False
    With Application.FileSearch
        .NewSearch
        .LookIn = strPfad
        .SearchSubFolders = False
        .Filename = "*.xls"
        If .Execute() > 0 Then
            For Dateien = 1 To .FoundFiles.Count
                Cells(loZeile, 1) = Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien)))
                Cells(loZeile, 2).FormulaLocal = "='" & strPfad & "\" & "[" & _
                        Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]Tabelle1'!D2"
                Cells(loZeile, 3).FormulaLocal = "='" & strPfad & "\" & "[" & _
                        Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]Tabelle1'!H13"
                Cells(loZeile, 4).FormulaLocal = "='" & strPfad & "\" & "[" & _
                        Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]Tabelle1'!H14"
                loZeile = loZeile + 1
            Next Dateien
        End If
    End With
    Range("B2:D" & IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)).Copy
    Range("B2").PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
End Sub

Den Pfadnamen C:\Test und den Tabellennamen Tabelle1(gemeint ist die Tabelle, aus der die Werte übernommen werden sollen) musst du entsprechend anpassen.

Bis später,
Karin

Antwort 6 von Sp|n.aT

Hi Karin
als erstes mal danke für das nette Script HAMMER !!!!
nur jetzt die Anfängerfrage wo pack ich das hin ????

Lg martin

ps wie kann ich dir das danken *sfg*

Antwort 7 von Beverly

Hi Martin,

schreibe den Code in ein allgemeines Modul. Wie du in die VBA-Umgebung kommst weißt du? Rechtsklick auf den Tabellenreiter -> Code anzeigen, dann in der Symbolleiste -> Einfügen -> Modul und den Code in das rechte große Codefenster reinkopieren. Starten kannst du ihn über Extras -> Makro -> Makros und dort den Namen daten_uebernehmen auswählen -> Ausführen. Das genügt, wenn der Code nur ein Mal ausgeführt werden soll. Wenn es allerdings öfters sein soll, gibt es verschiedene Möglichkeiten, das zu erleichtern.

Bis später,
Karin

PS: wenn du am Ende schreibst, dass alles so funktionert, wie du es dir vorstellst, dann ist das Dank genug :-))). Die Hilfe hier ist kostenlos und die Helfer tun es gern.

Antwort 8 von Sp|n.aT2

Hi Karin,

habs geschafft das einzufügen. Links und so weiter funktionieren perfekt dch bei einer Datei schreibt er dann FEHLER 400 !!!
Ist da die Datei schuld ???
Soll ich sie löschen ???

Lg Martin

PS Thx thx thx thx *g*

Antwort 9 von Beverly

Hi Martin,

das kann ich so nicht sagen. Was sagt der Debugger noch außer der Fehler-Nummer?

Bis später,
Karin

Antwort 10 von Sp|n.aT2

Hi Karin,

alls erstes Mal DANKE !!!! Du warst mir echt eine große Hilfe. Hab jetzt die Dateien mal verschoben, werd sie einfach neu schreiben. Der Rest hat perfekt geklappt. TRAUMHAFT !!!

Möcht dir nochmal herzlich Danken und wenn mal im Össiland bist dann meld dich ich geb nen Kaffee aus *sfg*
Lg Martin

Antwort 11 von Sp|n.aT2

PS: es kam ein Fenster mit einem Roten Kreis mit einem weißen Kreuz drin und daneben stand 400 mehr nicht
Und das Makro hat einfach gestoppt

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: