21.11.2016, 09:08
Hallo liebe Community,
bisher konnte ich immer eine zufriedenstellende Antowrt auf meine Frage bekommen. Ich hoffe das ist auch dieses mal der Fall.
Folgende Situation:
Ich habe einen exemplarischen Pfad: C:\data\office\Christian\Projekt xx\... in dem Ordner "Projekt xx" sind beliebig viele Unterordner, nummeriert von 1 - n.
In diesen Unterordnern, sind i.d.R. 9 oder 6 Textdateien. Seltener aber auch mal nur 3. Diese Textdateien werden per Hand in die Ordner kopiert.
Nun habe ich folgendes Makro.
Dieses Makro funktioniert bisher auch eigentlich sehr gut. Allerdings dauert es doch recht lange alle Textdateien jedes mal manuell auszuwählen.
Jetzt würde ich gerne folgendes realisieren, jedoch fehlen mir die Kenntnisse in Excel VBA. Ich hoffe hier kann mir jemand unterstützend zur Seite stehen.
Und zwar würde ich gerne umsetzten, dass
- Excel automatisch die Unterordner 1, 2, 3, ... ,n durchgeht und jeweils alle vorhandenen Textdateien aus einem Ordner in Excel auf dem Tabellenblat "Teil_hinzu" nebeneinander einfügt.
- d.h. ich würde gerne per Knopfdruck realisieren, was ich vorher mit unzähligen Klicks gemacht habe.
Die Textdateien haben immer eine feste Anzahl an Spalten. Die erste Zelle in der die erste Textdatei eingefügt werden soll ist nach wie vor A4. Die zweite ist dann N4, die dritte AA4 usw.
Wenn alle 9 oder 6 Dateien auf dem Tabellenblatt "Teil_hinzu" importiert sind, dann greifen meine bisherigen Codezeilen. (bestimmte Spalte kopieren und nach Tabellenblatt "Daten" kopieren)
Danach springt Excel in den nächsten Ordner und macht wieder das gleiche, solange wie Ordner vorhanden sind.
Also Excel muss demnach immer in einen Ordner rein, alles rauskopieren dann wieder zurück im Pfad und in den nächsten Ordner.
Ich hoffe mir kann jemand mit diesem Problem weiter helfen.
Mit freundlichen Grüßen
Christian
bisher konnte ich immer eine zufriedenstellende Antowrt auf meine Frage bekommen. Ich hoffe das ist auch dieses mal der Fall.
Folgende Situation:
Ich habe einen exemplarischen Pfad: C:\data\office\Christian\Projekt xx\... in dem Ordner "Projekt xx" sind beliebig viele Unterordner, nummeriert von 1 - n.
In diesen Unterordnern, sind i.d.R. 9 oder 6 Textdateien. Seltener aber auch mal nur 3. Diese Textdateien werden per Hand in die Ordner kopiert.
Nun habe ich folgendes Makro.
Code:
Sub TeilHinzufügen()
For n = 1 To 9 'entsprechend 9 oder 6 Textdateien
Sheets("Teil_hinzu").Select ' hier werden die textdateien kurz zwischengespeichert bzw importiert
Dim zahl As Integer
zahl = Cells(1, 2) ' Startzeile in der eine Spalte der Textdatei abgelegt werden soll
Range("A4").Select ' hier soll die Textdatei eingefügt werden
Selection.QueryTable.Refresh BackgroundQuery:=False 'so wählen ich die Datei aus
Range("G4").Select
Range(Selection, Selection.End(xlDown)).Select
Range("G4:G130").Select 'dieser Bereich aus der Textdatei interessiert mich
Selection.Copy
Sheets("Daten").Select ' hier soll die Range("G4:G130") eingefügt werden...
Range("k" & zahl).Select '...in der entsprechenden Startzeile die ich in Cells(1,2) zuvor festgelegt habe
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True 'natürlich soll die Spalte transponiert werden
Sheets("Teil_hinzu").Select
zahl = zahl + 1 'und zahl nimmt um 1, um nächste Datenreihe zu kopieren
Cells(1, 2) = zahl
Next n
End Sub
Jetzt würde ich gerne folgendes realisieren, jedoch fehlen mir die Kenntnisse in Excel VBA. Ich hoffe hier kann mir jemand unterstützend zur Seite stehen.
Und zwar würde ich gerne umsetzten, dass
- Excel automatisch die Unterordner 1, 2, 3, ... ,n durchgeht und jeweils alle vorhandenen Textdateien aus einem Ordner in Excel auf dem Tabellenblat "Teil_hinzu" nebeneinander einfügt.
- d.h. ich würde gerne per Knopfdruck realisieren, was ich vorher mit unzähligen Klicks gemacht habe.
Die Textdateien haben immer eine feste Anzahl an Spalten. Die erste Zelle in der die erste Textdatei eingefügt werden soll ist nach wie vor A4. Die zweite ist dann N4, die dritte AA4 usw.
Wenn alle 9 oder 6 Dateien auf dem Tabellenblatt "Teil_hinzu" importiert sind, dann greifen meine bisherigen Codezeilen. (bestimmte Spalte kopieren und nach Tabellenblatt "Daten" kopieren)
Danach springt Excel in den nächsten Ordner und macht wieder das gleiche, solange wie Ordner vorhanden sind.
Also Excel muss demnach immer in einen Ordner rein, alles rauskopieren dann wieder zurück im Pfad und in den nächsten Ordner.
Ich hoffe mir kann jemand mit diesem Problem weiter helfen.
Mit freundlichen Grüßen
Christian