VBA-Beispiel 104
mail schreiben
mail schreiben

sehr große Textdatei importieren

Importiert auch Textdateien, die mehr Zeilen hat als die Exceltabelle. Die Zeilen der Textdatei werden dann auf mehrere Exceltabellen verteilt.

Der Import einer Textdatei mit 160.000 Zeilen dauert bei mir mit:

Excel 97 13 Sekunden
Excel 2003 15 Sekunden
Excel 2007 1 Minute und 40 Sekunden...
Sub große_Textdatei_importieren()
Dim Datei As String, Text As String
Dim Zeile As Long, max_Zeile As Long

Dim Start As Date, Ende As Date

Start = Now

'Pfad anpassen
Datei = "C:\Eigene Dateien\text.txt"

Open Datei For Input As #1      'Quelldatei öffnen.

Zeile = 2 'ab der zweiten Zeile schreiben

Worksheets.Add after:=ActiveSheet
ActiveSheet.Name = "Daten " & Worksheets.Count
max_Zeile = Rows.Count

Do While Not EOF(1)    'Schleife bis Dateiende
  Line Input #1, Text   'Text lesen

 'wenn letzte Zeile erreicht wurde
  If Zeile Mod max_Zeile = 1 Then
    Worksheets.Add after:=ActiveSheet 'neue Tabelle anlegen
   'Tabellenname vergeben
    ActiveSheet.Name = "Daten " & Worksheets.Count
    Zeile = 2
  End If  

  ActiveSheet.Cells(Zeile, 1) = Text 'schreiben
  Zeile = Zeile + 1
Loop

Close #1  'Quelldatei schließen

Ende = Now
MsgBox Format(Ende - Start, "hh:mm:ss"), , "Fertig"
End Sub

Download:   vba104.zip