Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
628to632
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
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

große Datenmengen

große Datenmengen
30.06.2005 12:06:21
Grieser
Hallo ich habe ein Problem und hoffe, einer von euch kann mir helfen.
Welche Möglichkeiten gibt es, mit Excel 250.000 Datensätze zu verarbeiten?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: große Datenmengen
30.06.2005 12:44:27
JensM
Hallo, ich hatte mal gefunden: --> s.u.
Grüße,
Jens
Datei mit über 65.000 Zeilen einlesen

Sub Read_Big_File()
'Liest csv und txt Datein mit mehr als 65536 Datensätzen ein
'und erstellt automatisch eine neu Arbeitsmappe und Worksheets
'Der eingelesene Text wird in Spalte 1 geschrieben
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim txtlines As Long, i As Long, n As Long
'Neue Mappe und Variables Tabellenblatt deklarieren
Dim tWkb As Workbook, tWks As String
'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
Dim OldStatusbar
'Dialog öffnen auf Basis von *.dat Files
ReadFile = Application.GetOpenFilename("CSV Files (*.csv;*.txt),")
'Schliessen einer geöffneten Datei
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
Input #1, textArr(i)
Next i
Close #1
'Arbeitsmappe erstellen und zuweisen
Workbooks.Add
Set tWkb = ActiveWorkbook
'Alles löschen bis auf eine Tabelle
'>> Kosmetik :-)
For i = 2 To Worksheets.count
Application.DisplayAlerts = False
Worksheets(i).Delete
Application.DisplayAlerts = True
Next
OldStatusbar = Application.DisplayStatusBar
'Namen vergeben
Worksheets(1).name = "Data1"
tWks = tWkb.Worksheets(1).name
'Daten in aktuelles Sheet schreiben
n = 1
For i = 1 To txtlines
Application.StatusBar = "Datensatz " & i & " von " & txtlines & " wird eingelesen"
'Neue Tabelle anlegen wenn Zelle 65536 erreicht wurde
If i Mod 65536 = 0 Then
Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, Semicolon:=True, FieldInfo:=Array(1, 1)
tWkb.Worksheets.Add after:=ActiveSheet
ActiveSheet.name = "Data" & i
tWks = ActiveSheet.name
n = 1
End If
tWkb.Worksheets(tWks).Cells(n, 1) = textArr(i)
n = n + 1
Next i
MsgBox ReadFile & " mit " & txtlines & " Datensätzen vollständig eingelesen"
Application.DisplayStatusBar = OldStatusbar
End Sub

Einlesen hinter Dateiende könnte tatsächlich auf nicht korrekte Endzeichen hindeuten
Ändere mal die Anweisung
For i = 1 To txtlines
Input #1, textArr(i)
Next i
In
For i = 1 To txtlines-1
Line Input #1, textArr(i)
Next i
Anzeige
AW: große Datenmengen
30.06.2005 12:57:21
Grieser
DAnke für die schnelle Antwort !

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige