Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
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
Inhaltsverzeichnis

txt Dateien in Excel importieren

txt Dateien in Excel importieren
25.01.2016 08:12:29
Berchtold
Hallo zusammen
Ich habe diverse txt Dateien in einem Ordner. Die Daten sind mit Tabstosps getrennt. Wie kriege ich es hin das ich alle Daten auf einen rutsch ins Excel kriege?
Hab mal folgenden Code probiert:
Sub OpenWkb1()
' Öffnet alle Dateien in einem angegebenen Verzeichnis mit der vorgegeben Endung
' Hier: Verzeichnis E:\Temp; Dateityp: *.txt
Dim sfile As String, sPath As String
' Ausschalten der Bildschirmaktualisierung
Application.ScreenUpdating = False
sPath = "F:\Hermilindis\jrn\jr16 - Kopie\"
' Überprüfung, ob das letzte Zeichen des Strings ein Backslash ist
If Right(sPath, 1)  "\" Then
sPath = sPath & "\"
End If
' Einlesen der Vorgaben in Variable
sfile = Dir(sPath & "*.txt")
' Schleife, die solange arbeitet, bis die letzte Fundstelle erreich wird und die Variable leer  _
bleibt
Do While sfile  ""
' Aufruf der weiteren Prozedur mit der Übergabe Verzeichisn und Name
Call TextImport1(sPath, sfile)
' Einlesen des nächsten Namens
sfile = Dir()
Loop
' Einschalten der Bildschirmaktualisierung
Application.ScreenUpdating = True
End Sub

Sub TextImport1(sPath As String, sfile As String)
Dim strVerzeichnis As String
Dim wkb As Workbook
' Speicherverzeichnis festlegen
strVerzeichnis = "F:\Hermilindis\jrn\jr16 - Kopie\"
' Überprüfung, ob das letzte Zeichen des Strings ein Backslash ist
If Right(strVerzeichnis, 1)  "\" Then
strVerzeichnis = strVerzeichnis & "\"
End If
' Ausschalten der Bildschirmaktualisierung
Application.ScreenUpdating = False
' Neue Mappe anlegen mit der vorgegebenen Anzahl Zabellen
Set wkb = Workbooks.Add
' Einlesen der Datei
Workbooks.OpenText Filename:=sPath & sfile, Tab:=False, Space:=True, _
Comma:=False, semicolon:=False, other:=False
' Speichern der Mappe
' Systemmeldung ausschalten
'Application.DisplayAlerts = False   ' Schaltet die Systemmeldung aus
wkb.SaveAs Filename:=strVerzeichnis & sfile & ".xls"
'Application.DisplayAlerts = True    ' Schaltet die Systemmeldung ein
' Schließen der beiden Dateien
wkb.Close
Workbooks(sfile).Close
Application.ScreenUpdating = True
End Sub
Leider werden zwar die Daten in Excel abgefüllt, es kommt die Frage zum speichern was ich mache danach ist das Excel jedoch leer.
Was muss da geändert werden?
Danke für eure Hilfe

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: txt Dateien in Excel importieren
25.01.2016 09:37:11
Berchtold
Danke Rudi
Hab die VBA Datei dort geholt und ausprobiert. Excelsheet liegt im gleichen Ordner wie die txt Dateien. Wenn ich ausführe gibt es folgende Fehlermeldung bei:Call TextImport. Fehler beim kompilieren. Sub oder Function nicht definiert.
Was mache ich falsch?
Danke und Gruss
Roger

AW: gelöst
25.01.2016 09:56:03
Berchtold
Hallo Rudi
Danke vielmals. Habs nun mit einem anderen Code gelöst
Sub Alle_Textdateien()
strExt = "*.txt"       'Dateiextension ggf. anpassen
ZuÖffnendeDatei = Application.GetOpenFilename("Textdateien (" & strExt & "), " & strExt,  _
Title:="Verzeichnisauswahl, erste Datei auswählen")
If ZuÖffnendeDatei = False Then Exit Sub
'Die ausgewählte Datei ist egal. es wird hier nur das Verzeichnis der Datei ausgewertet
strPath = CurDir & "\"
If strPath = "" Then
Exit Sub
Else
ChDir strPath
strFile = Dir(strPath & strExt) 'hier wird die erste Datei gefunden
Do While Len(strFile) > 0
Workbooks.OpenText Filename:=strPath & strFile, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, _
Tab:=True, Semicolon:=False, Comma:=False, _
Space:=True, Other:=False, trailingMinusNumbers:=True
Sheets(1).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
'...weiter mit Änderungen an der Tabelle
strFile = Dir() ' nächste Datei
Loop
End If
End Sub
Das hat wunderbr funtkioniert.
Gruss
Roger
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige