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

Einlesen .txt mit Umbruch

Einlesen .txt mit Umbruch
24.05.2005 13:35:04
Maria
Hallo freaks!
Ich habe eine txt-Datei mit ca. 765.000 Zeichen, fortlaufend, ohne Trennzeichen. Ich möchte die Datei in Excel einlesen und nach jeweils 38 Zeichen eine neue Zeile beginnen, jeweils in Spalte A. Als Ergebnis möchte ich eine Tabelle mit ca. 20.100 Zeilen und 1 Spalte (A) erhalten.
Im Archiv habe ich gesucht, aber leider nix passendes gefunden.
Vielen Dank im voraus für Eure Hilfe!
Maria

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einlesen .txt mit Umbruch
24.05.2005 14:24:45
IngGi
Hallo Maria,
versuch's mal mit diesem Makro (Name und Pfad deiner Textdatei einsetzen!):

Sub Einlesen()
Dim fso As Object, f As Object, lng As Long
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("Deine_Datei_mit_Pfad")
On Error GoTo Ende
lng = 1
Do
Cells(lng, 1) = f.read(38)
lng = lng + 1
Loop
Ende:
End Sub

Gruß Ingolf
AW: Einlesen .txt mit Umbruch
24.05.2005 14:28:29
MichaV
Hi Maria,
so z.B. geht es mit Dateien mit bis zu zwei Milliarden Zeichen:


      
Option Explicit
Private Sub ZeichenEinlesen()
Dim DateiNr As Integer
Dim Datei
Dim z As String  'Zeichen
Dim tz As String 'Zeile
Dim r As Long    'Row

Const a = 38 'Hier die Anzahl der Zeichen

Datei = Application.GetOpenFilename(Title:="Import- Datei auswählen")
If Datei = False Then Exit Sub
 
DateiNr = FreeFile
Open Datei For Input As #DateiNr
While Not EOF(DateiNr)       'Für den Fall, daß Zeilenumbrüche in der Datei sind.
  Line Input #DateiNr, tz    'wenn nicht, dann reicht zwischen Open
  z = z & tz                 'und Close die Zeile
Wend                         'Line Input #DateiNr, z
Close DateiNr
r = 1
Sheets.Add After:=Sheets(Sheets.Count)
Do
  tz = Left(z, a)
  z = Right(z, Len(z) - Len(tz))
  
'vor "=" ein Hochkomma, wg.Textdarstellung in Excel
  'If Left(tz, 1) = "=" Then tz = "'" & tz
  'oder Zelle als "Text" formatieren
  Sheets(Sheets.Count).Cells(r, 1).NumberFormat = "@"
  
  Sheets(Sheets.Count).Cells(r, 1).Value = tz
  r = r + 1
  
If r > 65536 Then 'neues Blatt anlegen
    Sheets.Add After:=Sheets(Sheets.Count)
    r = 1
  
End If
Loop While Not Len(tz) < a
End Sub 


Gruss- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Einlesen .txt mit Umbruch
24.05.2005 15:01:24
Maria
Danke an alle!
Ich habe die Lösung von Micha probiert, klappt prime. Ich bin aber überzeugt, dass auch die anderen Lösungen funktionieren und danke auch den anderen für die Mühe!
Liebe Grüße
Maria
AW: Einlesen .txt mit Umbruch
24.05.2005 15:07:47
MichaV
Danke für die Rückmeldung, Maria.
Und da sag noch eine(r), daß es nicht auf die Länge ankommt ;o)
Gruss- Micha
AW: Einlesen .txt mit Umbruch
24.05.2005 14:28:52
u_
Hallo,
in ein Modul:

Sub Text_lesen()
Dim i As Long, n As Long, str As String
n = 1
Open "n:\test3.txt" For Input As #1 'anpassen
Do Until EOF(1)
Input #1, str
For i = 1 To Len(str) Step 38
Cells(n, 1) = Mid(str, i, 38)
n = n + 1
Next
Loop
Close 1
End Sub

Gruß
Geist ist geil!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige