Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
932to936
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
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten importieren

Daten importieren
05.12.2007 10:17:41
Andyy
Hallo zusammen, kann mir jemand helfen?
Es sind im Ordner .....\2007 eine Anzahl Dateien mit gleicher Struktur vorhanden. Einige Werte aus diesen Dateien sollen nun im Arbeitsblatt ...\Zahlungen eingelesen werden. Dies funktioniert mit dem Code auch ganz gut. Nur, wenn das Makro nochmals ausgeführt wird, dann hängt es die Daten wieder an die bereits eingelesenen unten an, was dann natürlich zu Doppeleinträgen führt. Beim Ausführen des Makros sollten die eingelesenen Werte deshalb die alten überschreiben, beginnend in der Zelle B4. Ha jemand eine Idee?
Sub FilesListen()
Call EventsOff
Dim Dateien As Integer
Dim DateiName As String
Dim zaehler As Boolean
With Application.FileSearch
.NewSearch
.LookIn = "D:\eigene dateien\gutachten\gutachtenordner\2007\"
.SearchSubFolders = True
.Filename = "*.xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
If DateiName ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
If zaehler = False Then
zeile = 4
Else
zeile = ThisWorkbook.Sheets("RE2007").Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
Workbooks(DateiName).Sheets("Gesamt").Range("AB365:AG365").Copy
ThisWorkbook.Sheets("RE2007").Range("B" & zeile).PasteSpecial Paste:=xlPasteValues
zaehler = True
Workbooks(DateiName).Close SaveChanges:=True
End If
Next Dateien
End If
End With
Call EventsOn
End Sub



Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub



Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub


Recht vielen Dank, Andyy

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten importieren
05.12.2007 11:09:00
Jan3
Hi,
Zu diesem Zweck müßte in Deiner Zieldatei in einer extra Spalte der Dateiname beim ersten Mal eingefügt werden. Dann kann beim zweiten Mal danach gesucht und die Daten überschrieben werden. Ist der Dateiname noch nicht vorhanden wird angefügt.
Um dieses umzusetzen, brauchte ich eine Beipieldatei.
Jan

AW: Daten importieren
05.12.2007 13:54:39
Andyy
Hallo Jan,
Vielen Dank für den Tipp. Der gewünschte Vorgang ist jedoch wesentlich simpler. Versuche mal es zu erklären:
Im Ordner ....\2007 befinden sich ca. 30 Dateien 1172, 1173, 1174 usw. Jede dieser Dateien ist gleich aufgebaut. Nun soll in einer neuen Datei .....\"Auswertungen" eine Übersicht (jeweils der Arbeitsblätter "1172\Gesamt usw.") erfolgen. Mit dem vorgestellten Code werden die gewünschten Daten auch eingelesen und in die Datei "Auswertungen" eingeschrieben. Für jede Quelldatei eine Zeile.
Super, genau so sollte es sein.
Wenn ich jedoch das Makro nochmals ausführe, z.B. weil sich an einer Quelldatei Veränderungen ergaben, dann werden alle wieder importierten Datenzeilen wieder an die alten in der Auswertung nochmals hinten angehängt. Erforderlich wäre es entweder die kompletten Auswertungzeilen vor dem Importieren zu löschen, oder die imoprtierten Daten überschreiben einfach die alten Zeilen. Denke dass die Lösung im Bereich:
zeile = ThisWorkbook.Sheets("RE2007").Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
Workbooks(DateiName).Sheets("Gesamt").Range("AB365:AG365").Copy
ThisWorkbook.Sheets("RE2007").Range("B" & zeile).PasteSpecial Paste:=xlPasteValues
zu suchen ist, komme aber leider nicht darauf.
Viele Grüße, Andyy

Anzeige
AW: Daten importieren
05.12.2007 22:15:00
Jan3
Hi,
Auch wenn Du meinst das das simple ist, kommst Du nicht umhin, den Dateinamen irgendwie in eine extra Spalte beim ersten Mal kopieren einzufügen. Wie soll sonst erkannt werden, welche Zeile bei der zweiten Ausführung überschrieben bzw. gelöscht werden soll?
Ich glaube nicht, das Du immer in der gleichen Reihenfolge die Dateinamen in Deinem Quellordner stehen haben wirst. Und schon wird eine falsche Zeile in Deiner Auswertungstabelle überschrieben!
Also in welcher Spalte soll der Name in der Auswertungstabelle stehen?
Jan

AW: Daten importieren
05.12.2007 22:34:02
Andyy
Hallo Jan,
in der Spalte B
Vielen Dank, Andyy
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige