online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Krischan02 vom 22.02.2020, 22:22 Options

mehrere TXT-Dateinen nach Excel importieren

Moinsen,
ich habe ein Problem, dass mich an meine Grenzen führt.

Ich muss zur weiteren Verwendung aus einer Software Datensätze exportieren. Diese exportierten Datensätze liegen dann im Format *.txt vor und werden in Excel zusammengefasst.
D.h. ich muss mehrere TXT-Dateien nach Excel importieren.
Diese einzelnen Dateien werden jeweils einem eigenen Tabellenblatt zugewiesen.
Z.Zt. mache ich das auf dem berühmten manuellen Wege und erzeuge eine entsprechende Anzahl von Tabellenblättern, benenne sie entsprechend und importiere die entsprechenden Datensätze schön zu Fuss.
Da ich das nun öfter machen darf und es sich um eine unterschiedliche Anzahl von Datensätzen (in der Regel zwischen 5 und 30 txt-Dateien) handelt, möchte ich das automatisieren.
Ich habe keine Ahnung wo ich anfangen soll und wie das geht.

Konvertiungsparameter (über den Textkonvertierungsassitenten) sind:
ursprünglicher Dateityp: getrennt
Import beginnend in Zeile 6
Dateiursprung 1250 Mitteleuropäisch (Windows)
Trennzeichen Semikolon
alles andere bleibt unverändert

Die TXT-Dateien werden immer aus dem gleichen Ordner importiert.
Die Ausgangssoftware vergibt immer gleich aufgebaute Dateinamen, die für die Benennung der Tabellenblätter eine Rolle spielen.
Der Tabellenblattname ergibt sich immer aus den letzten Stellen des Dateinamens = Datum des Datensatzes bzw. Datumsbereich
Beispiel:
C_Müller_Peter_2008-02-20_15-05-13_3722_A1_20080115-20080220.txt
C_Müller_Peter_2008-02-20_15-05-13_3722_D1_20080219.txt
C_Müller_Peter_2008-02-20_15-05-13_3722_D1_20080216.txt
C_Müller_Peter_2008-02-20_15-05-13_3722_D1_20080215.txt
oder mit zwei oder mehr Vornamen
C_Meier_Klaus_Bärbel_2008-02-20_15-05-13_3722_A1_20080115-20080220.txt
C_Meier_Klaus_Bärbel_2008-02-20_15-05-13_3722_D1_20080219.txt

Wer aus dieser Gemeinde kann mir helfen?


Antwort schreiben

Antwort 1 von gast123 vom 23.02.2020, 11:49 Options

hi all

ein beispiel

gruss gast123

Sub TxtFilesListen()
Call EventsOff
Dim Dateien As Integer
Dim DateiName As String
With Application.FileSearch
.NewSearch
.LookIn = "C:\Temp\"
.SearchSubFolders = False
.Filename = "*.txt"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
ThisWorkbook.Worksheets.Add , ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count).Name = Mid(DateiName, 1, Len(DateiName) - 4)
With ThisWorkbook.Sheets(Mid(DateiName, 1, Len(DateiName) - 4)).QueryTables.Add(Connection:="TEXT;" & "C:\Temp\" & Mid(DateiName, 1, Len(DateiName)), Destination:=Range("A1"))
    .Name = "ob1201_2"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = xlWindows
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
    .Refresh BackgroundQuery:=False
End With
Next Dateien
End If
End With
ThisWorkbook.Worksheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Delete
Call EventsOn
End Sub


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


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

Antwort 2 von Krischan02 vom 24.02.2020, 09:00 Options

Hallo gast123,

ich habe deine Vorlage in Excel eingegeben, leider wirft er eine Fehlermeldung raus.

Und zwar in dieser Zeile, was kann da falsch sein?

With ThisWorkbook.Sheets(Mid(DateiName, 1, Len(DateiName) - 4)).QueryTables.Add(Connection:="TEXT;" & "C:\Temp\" & Mid(DateiName, 1, Len(DateiName)), Destination:=Range("A1"))


und hier zeigt es auch was falsches an:

ThisWorkbook.Worksheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Delete


???

Antwort 3 von gast123 vom 24.02.2020, 09:29 Options

hi all

in der ersten angegebenen zeile,an den pfad gedacht ?

in der zweiten angegebenen zeile wird vorausgesetzt das
Tabelle1/Tabelle2/Tabelle3 vorhanden sind,diese zeile koennte auch geloescht werden bei nicht bedarf

excel 7 ausgeschlossen

gruss gast123

Ähnliche Themen

Excel Tabele in eine Publisher Vorlage importieren?
todo  19.12.2007 - 99 Hits - 1 Antwort

Aus excel Datei Adressetiketen importieren?
gogogol  18.12.2007 - 286 Hits - 3 Antworten

Zahlenformatproblem beim Importieren einer txt Datei nach Excel
taberini  27.04.2008 - 18 Hits - 2 Antworten

Datei mit VBA öffnen
Trudi  28.05.2008 - 109 Hits -

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026