AW: Externe Daten automatisch in Spalten anordnen
11.09.2003 15:54:19
Ramses
Hallo
probier mal das
Sub Read_Extern_File_and_Write_200_Matrix()
'(C) Ramses
Debug.Print Now()
Dim i As Long, n As Integer, Cr As Integer, Cc 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
Dim textArr As Variant
Dim ReadFile As String, tempStr As String
'Name der Datei aus der die Daten importiert 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
'Schreiben in Tabelle
Cr = 1 'Zeile
Cc = 1 'Spalte
For i = 1 To txtlines
'Array an die jeweilige Zeilen zurückschreiben
Cells(Cr, Cc) = textArr(i)
Cr = Cr + 1
If Cr Mod 200 = 0 Then
Cr = 1
Cc = Cc + 1
End If
Next i
'Schliessen
MsgBox "Alle Daten importiert"
Debug.Print Now
End Sub
Gruss Rainer