1.9k Aufrufe
Gefragt in Tabellenkalkulation von klausi1 Einsteiger_in (7 Punkte)
Möchte 31 Tagesdateien "SMA 20110401.xls, SMA 20110402.xls, SMA 20110403.xls etc. in einer Datei untereinander zusammenfügen. Die Dateien besitzen jeweils Zahlenwerte und beginnend ab der 9. Zeile mit den Spalten A bis C bis zur Zeile 296.
In der neuen Datei (Monatsdatei z.B. SMA_ 201104) sollten alle Zahlenwerte in der Spalte A bis C untereinander eingelesen werden. Habe das Betriebssystem XP und Excel 2003.
Kann mir jemand hierfür ein Makro schreiben habe selber keine Kenntnisse mir ein Makro selber zu erstellen. Die in diesem Forum schon vorgestellten Makros konnte ich leider wegen Fehlerabbruchs nicht verwenden.

3 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

wie gewünscht :-))

der pfad sollte angepasst werden :-)

gruss nighty

[code]Option Explicit  [/code][code]Sub DateienLesen()
    Call EventsOff
    Dim DateiName As String
    DateiName = Dir("C:\Temp\" & "*.xls")
    Do While DateiName <> ""
        If ThisWorkbook.Name <> DateiName Then
            Workbooks.Open Filename:="C:\Temp\" & DateiName
            Workbooks(DateiName).Worksheets(1).Range("A9:C" & Workbooks(DateiName).Worksheets(1).Range("A" & Rows.Count).End(xlUp).Row).Copy
            ThisWorkbook.Worksheets(1).Range("A" & ThisWorkbook.Worksheets(1).Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
            Workbooks(DateiName).Close SaveChanges:=True
        End If
        DateiName = Dir
    Loop
    Call EventsOn
End Sub  [/code][code]Public Sub EventsOff()
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
End Sub  [/code][code]Public Sub EventsOn()
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub  [/code]
0 Punkte
Beantwortet von klausi1 Einsteiger_in (7 Punkte)
Hallo nighty,
vielen Dank für die schnelle Hilfe, leider bekomme ich beim Ausführen des Makros noch eine Fehlermeldung "Fehler beim kompilieren, Sub oder Funktion nicht definiert".
Ich hatte leider vergessen zu schreiben, dass die Dateien unter Laufwerk D:\SMA stehen. Habe also deine beiden Zeilen in denen C:\Temp\ steht auf D:\SMA\ angepasst oder muß ich noch etwas anderes anpassen.
Das Makro habe ich in einer neuen Datei die im gleichen Ordner steht als Modul eingefügt. Ich hoffe ich habe dies so richtig gemacht, aber leider kommt die oben angeführte Fehlermeldung. Wo liegt hier mein Fehler?

Vielen Dank im Voraus Klausi1
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)

vielleicht geschuetzte bereiche oder verbundene zellen vorhanden ?

geschuetzte bereiche
mit einer makroaufnahme hast du dafuer schnell den code erstellt

verbundene zellen sind eher ein handicap als eine bereicherung ^^

gruss nighty
...