Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Exeldateien auswerten, zusammenführen

Exeldateien auswerten, zusammenführen
24.05.2006 18:15:15
highman4
Liebe Excelfreunde,
ich habe in einem Ordner sehr viele Excel-Dateien (ca. 200 Stck)die alle gleich aussehen, also Faxe die nur unterschiedliche Inhalte haben.
Der Dateiaufbau ist immer der Gleiche.
Nun würde ich gern die Inhalte aller Dateien in eine Datei auslesen wollen um danach eine entsprechende Auswertung vornehmen zu können.
Die Dateien sind nach Datum sortiert und ich möchte jeweils die Zellen A16 bis H35 auslesen, allerdings die leeren Zeilen ignorieren.
Hat hier jemand einen Lösungsansatz?????
Vielen Dank und viele Grüsse
highman4

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exeldateien auswerten, zusammenführen
24.05.2006 19:52:47
Franz S
Hallo highman,
ich habe eine Steuerungsdatei für einen ähnlichen Fall an deine Anwendung angepaßt.
https://www.herber.de/bbs/user/33891.xls
Gruß
Franz
AW: Exeldateien auswerten, zusammenführen
25.05.2006 06:29:49
highman4
Lieber Franz,
zunächst vielen herzlichen Dank für Deine Unterstützung.
Gibt aber noch 2 Probleme,
1. Er schreibt wirklich die 20 Zeilen auf und erkennt nicht, das nur 2 Zellen ausgefüllt sind. Es wäre schön wenn er erkennt, das die Datei aus der er sich die Daten hole nur z.B. von Zeile 16 bis 15 beschrieben ist. Ändert sich aber bei jeder Datei.
2. das viel grössere Problem, wo ich im Moment hilflos bin,
Natürlich sind in meinen ca. 200 Dateien auch gleiche Zeilen enthalten. z.B. in
Spalte 2 diese variiert nur mit 5 Lieferanten.
Jetzt kommt immer wieder folgende Fehlermeldung:
Die Formel die in der Zieltabelle eingefügt werden soll enthält einen Namen der bereits vorhanden ist. Kann man das irgendwie abschalten????
Vielen Dank highman4
Anzeige
AW: Exeldateien auswerten, zusammenführen
25.05.2006 09:24:18
Franz S
Hallo highman,
ich habe das Makro etwas verändert. Da die Übernahmen von Bereichsnamen und Formeln in der zusammengefassten Datei Probleme machen kann, werden jetzt nur noch die Werte in den Zellen ausgelesen.
Leere Zeilen werden vom Makro wahrschscheinlich nicht erkannt, weil die Zellen in deinen Dateien nicht leer sind, sondern Formeln oder Leerzeichen enthalten.
Der Versuch irgendwie auch die Formate der Zellen in die Zusammenfassung zu übernehmen führte zu exessiven Laufzeiten. Du muß also ggf. die Spalten nochmals formatieren.
Hier der modifizierte Code:

Sub DatenZusammenfuegen()
' Übernahme von Daten aus mehreren Blättern auf ein Tabellenblatt
Dim Blatt As Workbook, wb1 As Workbook, wks1 As Worksheet, Steuerung As Worksheet
Dim Pfad As String, Dateiname As String, wks2 As Worksheet, Reihe As Long
Dim Zeile1 As Long, Zeile As Long, Spalte As Integer, Ursprung As Range, Ziel As Range
Set Steuerung = ThisWorkbook.Sheets("Tabelle1")
'Neue Arbeitsmappe anlegen
Set wb1 = Workbooks.Add
'Überzählige Blätter löschen
Application.DisplayAlerts = False
For i = wb1.Sheets.Count To 2 Step -1
wb1.Sheets(i).Delete
Next
Pfad = Steuerung.Range("B8").Value ' Verzeichnis der Blätter
Zeile1 = 2 '1. Zeile ab der Daten in neue Tabelle eingefügt werden sollen
Zeile = Zeile1
Set wks1 = wb1.Sheets(1)
Application.ScreenUpdating = False
Dateiname = Dir(Pfad & "\*.XLS")
Do Until Dateiname = ""
Set Blatt = Workbooks.Open(Pfad & "\" & Dateiname)
Application.StatusBar = "Datei " & Blatt.Name & " wird eingelesen"
' Daten im Blatt kopieren und in neues Blatt einfügen
Set wks2 = Blatt.Sheets(1)
If Zeile = Zeile1 Then ' Spaltenbreiten formatieren bevor Daten aus 1. Blatt kopiert werden
For Spalte = 1 To 8 'Spalten A bis H
wks1.Cells(1, Spalte).ColumnWidth = wks2.Cells(1, Spalte).ColumnWidth
Next
End If
For Reihe = 16 To 35
Set Ursprung = wks2.Range(wks2.Cells(Reihe, "A"), wks2.Cells(Reihe, "H"))
If Application.WorksheetFunction.CountA(Ursprung) > 0 Then
Set Ziel = wks1.Range(wks1.Cells(Zeile, "A"), wks1.Cells(Zeile, "H"))
Ziel.Value = Ursprung.Value
Zeile = Zeile + 1
End If
Next Reihe
Blatt.Close Savechanges:=False
Dateiname = Dir ' Nächste Datei
Loop
Application.DisplayAlerts = True
Application.StatusBar = False
Application.ScreenUpdating = False
End Sub

Für weitere Fragen bin ich erst ab Montag wieder online.
Gruß
Franz
Anzeige
AW: Exeldateien auswerten, zusammenführen
25.05.2006 12:37:41
highman4
Hallo Franz,
habe die Zählspalte die noch mit Formeln belegt war durch VBA Code ersetzt und siehe da,
es funktioniert alles, er übernimmt die Formate erkennt die leeren Zellen, denn die sind wirklich leer, alle Formeln habe ich in Makros verpackt.
Vielen vielen Dank für Deine Hilfe
Gruss
highman4
AW: Exeldateien auswerten, zusammenführen
24.05.2006 20:52:08
nighty
hi all :)
eine variante :))
gruss nighty
pfad waere anzupassen
Option Explicit

Sub makro01()
Dim Lager As String
Dim Zeilen As Long
Dim Spalten As Integer
Dim Tabellen As Integer
Dim Dateien As Integer
Dim DateiName As String
Dim Zelle As Range
Zeilen = 1
Spalten = 1
With Application.FileSearch
.NewSearch
.LookIn = "C:\temp"
.SearchSubFolders = False
.Filename = "*.*"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
For Tabellen = 1 To Sheets.Count
For Each Zelle In Range("A16:H35")
Lager = ExecuteExcel4Macro("'C:\temp\" & "[" & _
Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]" & _
Sheets(Tabellen).Name & "'!" & Zelle.Address(, , xlR1C1))
If Lager <> "0" Then
Cells(Zeilen, Spalten) = Lager
Spalten = Spalten + 1
If Spalten > 8 Then
Spalten = 1
Zeilen = Zeilen + 1
End If
End If
Next Zelle
Next Tabellen
Next Dateien
End If
End With
End Sub

Anzeige
AW: Exeldateien auswerten, zusammenführen
25.05.2006 07:45:04
highman4
hallo nighty,
Vielen Dank für Deine Hilfe.
Nach dieser Programmzeile
Lager = ExecuteExcel4Macro("'C:\temp\" & "[" & _
Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]" & _
Sheets(Tabellen).Name & "'!" & Zelle.Address(, , xlR1C1))
fordert er mich auf einen Dateinamen einzugeben und danach ist schluss.(geht in Debuggmodus.
Hier: LookIn = "C:\temp"
habe ich den Pfad meiner Dateien eingegeben.
Wäre schön, wenn Du Dich noch mal melden würdest.
Vielen Dank und viele Grüsse
highman4
AW: Exeldateien auswerten, zusammenführen
25.05.2006 10:53:33
nighty
hi all :)
an 2 stellen sollte der pfad angepasst werden
erste zeile "C:\temp"
.LookIn = "C:\temp"
zweite zeile C:\temp\
Lager = ExecuteExcel4Macro("'C:\temp\" & "[" & _
Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]" & _
Sheets(Tabellen).Name & "'!" & Zelle.Address(, , xlR1C1))
gruss nighty
Anzeige
AW: Exeldateien auswerten, zusammenführen
25.05.2006 12:17:38
highman4
Hallo nighty,
hab jetzt an beiden Stellen den Pfad eingetragen trotzdem das gleiche Problem??????

Sub makro01()
Dim Lager As String
Dim Zeilen As Long
Dim Spalten As Integer
Dim Tabellen As Integer
Dim Dateien As Integer
Dim DateiName As String
Dim Zelle As Range
Zeilen = 1
Spalten = 1
With Application.FileSearch
.NewSearch
.LookIn = "C:\Walter\Spargel\Faxe2006"
.SearchSubFolders = False
.Filename = "*.*"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
For Tabellen = 1 To Sheets.Count
For Each Zelle In Range("A16:H35")
Lager = ExecuteExcel4Macro("C:\Walter\Spargel\Faxe2006" & "[" & _
Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]" & _
Sheets(Tabellen).Name & "'!" & Zelle.Address(, , xlR1C1))
If Lager <> "0" Then
Cells(Zeilen, Spalten) = Lager
Spalten = Spalten + 1
If Spalten > 8 Then
Spalten = 1
Zeilen = Zeilen + 1
End If
End If
Next Zelle
Next Tabellen
Next Dateien
End If
End With
End Sub

Er hängt sich immer an dieser endlos langen Programmzeile auf.
Fordert mich auf einen Dateinamen einzugeben und das war's.
Meldest Du Dich noch mal??
Vielen Dank
highman4
Anzeige
AW: Exeldateien auswerten, zusammenführen
25.05.2006 12:36:03
nighty
hi all
zweite pfadangabe stimmt nicht
am ende ranhaengen "\"
gruss nighty
AW: Exeldateien auswerten, zusammenführen
25.05.2006 12:46:58
nighty
hi highman4
in oberen makros werden alle tabellen einer mappe abgetastet
hier nur die erste,denk an die pfade :)
falls benötigt
gruss nighty
Option Explicit

Sub makro01()
Dim Lager As String
Dim Zeilen As Long
Dim Spalten As Integer
Dim Dateien As Integer
Dim DateiName As String
Dim Zelle As Range
Zeilen = 1
Spalten = 1
With Application.FileSearch
.NewSearch
.LookIn = "C:\temp"
.SearchSubFolders = False
.Filename = "*.*"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
For Each Zelle In Range("A16:H35")
Lager = ExecuteExcel4Macro("'C:\temp\" & "[" & _
Mid(.FoundFiles(Dateien), Len(.LookIn) + 2, Len(.FoundFiles(Dateien))) & "]" & _
Sheets(1).Name & "'!" & Zelle.Address(, , xlR1C1))
If Lager <> "0" Then
Cells(Zeilen, Spalten) = Lager
Spalten = Spalten + 1
If Spalten > 8 Then
Spalten = 1
Zeilen = Zeilen + 1
End If
End If
Next Zelle
Next Dateien
End If
End With
End Sub

Anzeige
AW: Exeldateien auswerten, zusammenführen
25.05.2006 12:49:11
Josef Ehrensberger
Hallo Highman4!?
Lade mal eines der Faxe hoch!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

AW: Exeldateien auswerten, zusammenführen
25.05.2006 13:03:15
highman4
Hallo all,
Franz hat mir das Problem eigentlich schon gelöst, aber auch der Code von nighty ist nicht schlecht und ich würde ihn gern zum Laufen bekommen stelle mich nur nicht gescheid an.
Ich schicke mal eines der ca. 200 Faxe, welche ich zusammenfassen will und am Ende so auswerten will, das ich erkennen kann, wieviel Umsatz jeder Lieferant gemacht hat.
Wenn ich das erst mal in einer Datei habe, dann sieht die Welt schon gut aus.
Viele Grüsse
highman4
https://www.herber.de/bbs/user/33901.xls
Anzeige
AW: Exeldateien auswerten, zusammenführen
25.05.2006 13:24:07
Josef Ehrensberger
Hallo Highman4!
Sollte einen tick schneller sein!
https://www.herber.de/bbs/user/33903.xls
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

AW: Exeldateien auswerten, zusammenführen
25.05.2006 13:39:57
highman4
Hallo Sepp
das ist natürlich wirklich Spitze und funktioniert tadellos und rasend schnell.
Vielen vielen Dank auch an Franz und an nighty für Eure großartige Hilfe.
Recht herzliche Grüsse und nochmals vielen Dank an ALLEE
highman4
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige