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

große Textdateien - leere Zwischeneilen eleminiere

große Textdateien - leere Zwischeneilen eleminiere
16.08.2003 13:34:19
Rudiator
Hallo am Samstag Nachmittag,

Folgendes Problem:
Ich moechte eine grosse Textdatei (Anzeige im Editor von 220000 Zeilen) per VBA in mehrere Tabellenblätter einlesen.
Habe hierzu auch Hans' Beispieldatei (mit den 250.000 Zeilen) adaptiert.
Nur anscheinend gibt es in der Txt-Datei zwischendrin Leerzeilen, sodass die
Do Loop Until EOF(1) Schleife nur bis Zeile 22 kommt und damit nur eine Tabelle (aber die komplett bis65536) gefuellt wird.

Frage: wie kann ich in der Textdatei entweder die Leerzeilen vorher per VBA eleminieren oder die EOF-Befehle modifizieren, dass auch leerzeilen gezaehlt werden?

Freue mich auf Antworten ;o)
Einen schoenen Samstag noch.

Rudi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: große Textdateien - leere Zwischeneilen eleminiere
16.08.2003 13:54:02
th.heinrich
hallo Rudi,

natuerlich auch von Hans :-) aus der Excel-FAQ.

http://xlfaq.herber.de/texte/040098h.htm

muesste einzubauen sein.

gruss thomas


AW: große Textdateien - leere Zwischeneilen eleminiere
16.08.2003 14:05:28
Rudiator
Hallo Thomas,

Danke fuer die Antwort - loest mein Problem abe nicht. In Excel selber waere es mir auch klar.

Das Problem besteht bereits in der TXT-Datei, dort muessen die Leerzeilen raus oder DIe EOF-Schleife darf bei Leerzeilen in der TXT-Datei nicht abbrechen.

Gruss Rudi


AW: große Textdateien - leere Zwischeneilen eleminiere
16.08.2003 14:34:07
th.heinrich
hallo Rudi,

das ist mir viel zu hoch. habe nochmal die RECHERCHE befragt, zu bearbeitung einer .txt datei leider nur folgendes gefunden.

https://www.herber.de/forum/archiv/80to84/t83709.htm

aber vielleicht doch eine anregung.

gruss thomas


Anzeige
AW: große Textdateien - leere Zwischeneilen eleminiere
16.08.2003 14:20:08
Ramses
Hallo,

ich weiss nicht wie Hans das macht,... ich mache es so um Leerzeilen bereits in der Ausgangstabelle zu eliminieren:


Sub Read_Extern_File_and_eliminate_empty_Lines()
'(C) Ramses
Debug.Print Now()
Dim i As Long, n As Integer
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim txtlines As Long
'Für Office97 muss das Array TextArr als String definiert werden
'Entdeckt duch Gerd Z aus dem Herber Forum
Dim textArr As Variant
Dim ReadFile As String, tempStr As String
'Name der Datei in der die Semikola ersetzt werden sollen
ReadFile = "C:\Demo.txt"
Close #1
'1. Öffnen der Datei
'Den Namen und Pfad bitte anpassen
Open ReadFile For Input As #1
'Die anzahl ist nötig um die Grösse des Arrays zu deklarieren
'Zähler auf 0 setzen
txtlines = 0
Do While Not EOF(1)    ' Schleife bis Dateiende.
    Input #1, Text1    ' Hilfsvariable zum einlesen verwenden
    'Zähler hochzählen
    txtlines = txtlines + 1
Loop
'Schliessen der Datei weil Dateiende erreicht wurde
Close #1
'Erneutes Öffnen um zum Dateianfang zu kommen
Open ReadFile For Input As #1    ' Datei zum Einlesen öffnen.
'Array neu auf die Anzahl der Linien initialisieren
ReDim textArr(txtlines)
'Einlesen der Dateien in das Array
For i = 1 To txtlines
    'Zeile einlesen
    Line Input #1, textArr(i)
Next i
Debug.Print "Total Datensätze: " & i
'File schliessen
Close #1
'Existierende Datei sichern
Name ReadFile As Left(ReadFile, Len(ReadFile) - 3) & "_Old"

'File zum schreiben wieder öffnen
Open ReadFile For Output As #1
For i = 1 To txtlines
    'Array an die jeweilige Zeile zurückschreiben
    If Len(textArr(i)) > 0 Then
        Print #1, textArr(i)
    End If
Next i
'Schliessen
MsgBox "Alle leerzeilen ersetzt"
Debug.Print Now
End Sub
 
     Code eingefügt mit Syntaxhighlighter 1.16



Totaldauer bei 437728 Datensätzen 5 Sekunden

Gruss Rainer


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige