Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Txt-Datei mit Trennzeichen einlesen?

Txt-Datei mit Trennzeichen einlesen?
23.11.2004 20:04:59
Andi
Hallo!
Habe schon ins Archiv geschaut, aber nichts passendes gefunden (obwohl da ja viel steht)
Ich möchte eine txt-Datei (Vorname Name Geburtsjahr…) in das Tabellenblatt „Tabelle2“ einlesen. Trennzeichen ist ein Leerzeichen.
Die Textdatei soll bis zum Ende eingelesen werden und praktisch so in Excel übertragen werden, wobei die Werte (Vorname, Name, Geb...) jeweils in eine eigene Spalte in "Tabelle2" geschrieben werden sollen.
Hat jemand eine passende Lösung?
Vielen Dank
Andi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Txt-Datei mit Trennzeichen einlesen?
23.11.2004 20:13:10
Jan
Hi Andi,
Wenn Excel 2000 besitzt und alle Komponenten installiert hast, dann wird beim Öffnen einer Textdatei mit den Endungen *.prn, *.txt und *.csv automatisch erkannt und ein Textkonventierungs-Assistent gestartet. Hier brauchst Du nur die entsprechenden Trennzeichen auswählen und einstellen. Alles andere macht Excel. Manchmal sind auch mehrere Schritte nötig.
Dann kannst Du auch über Menü Daten - Text in Spalten diesen Assistennten starten.

Jan
AW: Txt-Datei mit Trennzeichen einlesen?
23.11.2004 20:18:56
Andi
Danke, aber so habe ich es bisher immer gemacht.
Hatte wohl vergessen zu schreiben, dass ich das ganze mit VBA machen möchte, sorry ;-)
Also bräuchte ich ein kleines VBA-Skript.
Anzeige
AW: Txt-Datei mit Trennzeichen einlesen?
23.11.2004 20:35:29
Udo
Wirf mal den Makrorekorder an.
Udo
AW: Txt-Datei mit Trennzeichen einlesen?
23.11.2004 21:00:32
Andi
Habe es mal mit dem Makrorekorder probiert.
Leider öffnet Excel immer ein neues Sheet (nämlich mit dem Namen der Datei)?! Kriegt man das auch so hin, dass Excel die Daten in z.b. "Tabelle2" schreibt?

Sub Makro1()
ChDir "C:\"
Workbooks.OpenText Filename:="C:\1.txt", Origin:=xlMSDOS, StartRow:=1, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
:=True, Tab:=False, Semicolon:=False, Comma:=False, Space:=True, _
Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), _
Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), _
Array(12, 1), Array(13, 1)), TrailingMinusNumbers:=True
End Sub


Viele Grüße
Andi
Anzeige
AW: Txt-Datei mit Trennzeichen einlesen?
23.11.2004 21:39:27
Karl-Otto Reimann
Hallo Andi
Versuch' das hier:

Sub Test()
Dim sWord1 As String, sPath As String, sSearchPath As String, FileName As String, InputData
Dim anzfound As Integer
Dim intRow As Integer
Dim rng As Range
Dim varCol As Variant
Dim az As Range
Dim r As Range
Sheets("Tabelle1").Select
Sheets("Tabelle1").Rows("1:20000").ClearContents
'Application.ScreenUpdating = False
'Application.Calculation = xlManual
anzfound = 0
'''Pfad anpassen
sSearchPath = "c:\vt\boerse\TestDat.txt"
sPath = "c:\vt\boerse\"
FileName = Dir(sSearchPath)
If FileName <> "" Then
Do While FileName <> ""
Open sPath & FileName For Input As #1
Do While Not EOF(1)
Line Input #1, InputData
''' hier wird entweder ein " C " oder ein " P " gesucht
If InStr(1, InputData, " C ") Or InStr(1, InputData, " P ") > 0 Then
''' alternativ geht aber auch eine Leerstelle " "
''' hier wird ein "," gesucht
If InStr(1, InputData, ",") > 0 Then
anzfound = anzfound + 1
Sheets("Tabelle1").Cells(anzfound + 1, 7) = FileName
Sheets("Tabelle1").Cells(anzfound + 1, 1) = InputData
End If
Loop
Close #1
FileName = Dir
Application.StatusBar = "TestDat:  " & anzfound & "  Datensätze gefunden"
Loop
End If
End Sub


Grüße
KO
Anzeige
AW: Skript Funktioniert nicht
23.11.2004 21:45:09
Andi
Hallo Karl-Otto!
Bei deinem Skript bekomme ich immer eine Fehlermeldung in Bezug auf Loop... ?!
Hat mir leider nicht weitergeholfen.
AW: Skript Funktioniert nicht
23.11.2004 22:00:47
Karl-Otto Reimann
Hier das Original (Range, Sheets, sSearchPath, sPath mußt Du anpassen):

Sub ZEITEN()
Range("A4:B1500").ClearContents
With Application
.Calculation = xlManual
.ScreenUpdating = False
End With
Dim sWord1 As String, sPath As String, sSearchPath As String, FileName As String, InputData
Dim anzfound As Integer
Dim sWord2 As String
Dim intRow As Integer
anzfound = 0
sSearchPath = "c:\vt\boerse\*.txt"
sPath = "c:\vt\boerse\"
FileName = Dir(sSearchPath)
If FileName <> "" Then
Do While FileName <> ""
Open sPath & FileName For Input As #1
Do While Not EOF(1)
Line Input #1, InputData
If InStr(1, InputData, "Uhr") > 0 Then
anzfound = anzfound + 1
Sheets("ZEIT").Cells(anzfound + 3, 1) = FileName
Sheets("ZEIT").Cells(anzfound + 3, 3) = InputData
End If
Loop
Close #1
FileName = Dir
Application.StatusBar = "Status: " & anzfound
Loop
End If
End Sub

Anzeige
AW: Skript Funktioniert nicht
23.11.2004 22:08:29
Ralf (Schwabenland)
Hallo Andi,
hier mal eine Beispieldatei:
https://www.herber.de/bbs/user/13837.xls
mit getesteter txt-Datei

Die Datei https://www.herber.de/bbs/user/13838.txt wurde aus Datenschutzgründen gelöscht

Die txt-Datei musst du in Datei.txt umbenennen und in einen Ordner Namens C:\WUTemp bei dir einstellen. Oder du passt den Code in meinem Beispiel an.
Gruß
Ralf (Schwabenland)
AW: Skript Funktioniert nicht
23.11.2004 22:36:35
Karl-Otto Reimann
In Tabelle2 erscheint in A4:A8 (gesucht: Leerstelle) und Dein Text und in B4:B8 die Herkunft (Herber-Nummer ):


Sub TESSSST()
With Application
.Calculation = xlManual
.ScreenUpdating = False
End With
Dim sWord1 As String, sPath As String, sSearchPath As String, FileName As String, InputData
Dim anzfound As Integer
Dim sWord2 As String
Dim intRow As Integer
anzfound = 0
sSearchPath = "c:\WUTemp\13838.txt"
sPath = "c:\WUTemp\"
FileName = Dir(sSearchPath)
If FileName <> "" Then
Do While FileName <> ""
Open sPath & FileName For Input As #1
Do While Not EOF(1)
Line Input #1, InputData
If InStr(1, InputData, " ") > 0 Then
anzfound = anzfound + 1
Sheets("Tabelle2").Cells(anzfound + 3, 2) = FileName
Sheets("Tabelle2").Cells(anzfound + 3, 1) = InputData
End If
Loop
Close #1
FileName = Dir
Application.StatusBar = "Status: " & anzfound
Loop
End If
End Sub

Anzeige
AW: super! Danke!
23.11.2004 23:21:26
Andi
Danke! Funktioniert!
Anderes Sheet?
24.11.2004 20:30:44
Andi
Hallo Ralf!
Wie kann ich denn bei dem skript erreichen, dass die Daten aus der txt-Datei nicht ins aktuelle Sheet geschrieben werden, sondern z.B. ins sheet "Tabelle2"?
Ganz vielen Dank
AW: Anderes Sheet?
24.11.2004 22:20:29
Ralf (Schwabenland)
Hallo Andi,
hat sich erledigt. Hast ja Antwort in einem neuen Thread bekommen.
Gruß
Ralf
AW: Anderes Sheet?
24.11.2004 22:31:38
Andi
Danke! Dachte, ich erreich dich nicht mehr...

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige