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

mehrere .txt dateien per vba importieren

mehrere .txt dateien per vba importieren
12.07.2007 10:33:00
max
Hallo zusammen!
ich habe folgendes Problem:
ich möchte per VBA mehrere .txt dateien aus einem Verzeichnis nacheinander in Excel importieren.
Das ganze prozedere sollte ungefähr so aussehen:
erste Datei importieren, diese daten werden mit vba Code, der bereits besteht bearbeitet. Dann soll die nächste Datei (es gibt eine Nummerierung im Dateinamen)importiert werden und bewarbeitet werden.
Gibt es vielleicht einen bestehenden Code zum Import mehrerer Dateinen, in den ich meinen Bearbeitungscode einbinden kann?
Danke schon mal!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere .txt dateien per vba importieren
12.07.2007 11:45:00
Chaos

Sub suchen()
Dim n As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Workbooks.Add
n = ActiveWorkbook.Name
With Application.FileSearch
On Error Resume Next
.NewSearch
.LookIn = "C:\..." ' Hier der Pfad der Textdateien
.Filename = "*" & ".txt"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
Dateipfad = .FoundFiles(Dateien)
If DateiName  ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
' Hier dein Makro zum Bearbeiten
ActiveWorkbook.Close
End If
Next
End If
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Das öffnet alle TextDateien im angegebenen Verzeichnis, allerdings nicht in Reihenfolge 1,2 ..., sondern wie sie im Verzeichnis abgelegt sind.
weiß nicht, ob dir das weiterhilft, evtl. etwas modifizeren.
Gruß
Chaos

Anzeige
AW: mehrere .txt dateien per vba importieren
12.07.2007 12:39:16
Chaos
servus,
ich hab das mal mit dem Makrorecorder aufgezeichnet und etwas modifiziert:

Sub Makro3()
Dim n As Integer
For n = 1 To 2 Step 1
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\stadter\Desktop\hallo\dkjghihädkJ" & n & ".txt", _
Destination:=Range("A65536").End(xlUp).Offset(1, 0))
.Name = "dkjghihädkJ"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
'Hier der Bearbeitungscode
End With
Next
End Sub


Damit kommst du, meine ich weiter, als mit dem ersten Makro, wenn alle Dateien den gleichen namen haben (z.B.: text.txt, text1.txt, text2.txt)
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\stadter\Desktop\hallo\dkjghihädkJ" & n & ".txt", _
Destination:=Range("A65536").End(xlUp).Offset(1, 0))
dieser Ausdruck öffnet die Dateien n ist die Laufvariable und fügt sie in die erste freie zelle nach spalte A ein.
Gruß
chaos

Anzeige
AW: mehrere .txt dateien per vba importieren
12.07.2007 13:32:00
max
Damit kann ich erstmal arbeiten.
Dankeschön!

AW: mehrere .txt dateien per vba importieren
12.07.2007 15:27:36
max
Prinzipiell wäre der Code eine Lösung der Aufgabenstellung.
Ein Problem sind die Dateinamen der textdateien, die nicht einfach nummeriert sind, sondern in denen datum und uhrzeit enthalten sind(Format:text_jjjj-mm-tt_hh-mm-ss.txt) In einem Ordner sind immer die Dateien eines Monats, d.h. ich könnte die Tag(tt)-Ziffer als Variable n benutzen, da es auch nur ein File pro Tag gibt. Leider sind die Uhrzeiten hinten bei den Files jeden Tag unterschiedlich. gäbs dafür ne lösung in dieser art:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\stadter\Desktop\hallo\text_jjjj-mm-" & n & "*.txt", _
Destination:=Range("A65536").End(xlUp).Offset(1, 0))
also irgendwie mit Sternchen die Uhrzeit nicht berücksichtigen?

Anzeige
AW: mehrere .txt dateien per vba importieren
12.07.2007 19:15:46
Chaos
Servus,
schaut eher schlecht aus und mir fällt jetzt gerade nichts dazu ein.
Gruß
Chaos

AW: mehrere .txt dateien per vba importieren
13.07.2007 10:29:00
max
Jetzt hab ich mir ein Rename-Tool runtergeladen und pass den Dateinamen entsprechend an.
Danke trotzdem.

111 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige