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

Import ASCII Datei mit mehr als 100 000 Datenzeile

Import ASCII Datei mit mehr als 100 000 Datenzeile
10.12.2004 22:33:44
ChrisKlaus
Hallo,
durch Datenaufzeichnung von einem sehr kurzen Zeitintervall entstehen ASCII Dateien mit sehr vielen Datenzeilen und ca. 10 Spalten.
Zur Darstellung in einem Diagramm in Excel reicht aber jede zehnte Zeile aus.
Wie sieht ein Makro aus, welches nur jede zehnte Zeile des ASCII Files (durch Leerzeichen getrennt in Excel importiert?
Danke für die Hilfe
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: Import ASCII Datei mit mehr als 100 000 Datenz
10.12.2004 23:31:14
Josef Ehrensberger
Hallo Chris!
Probier mal.
Option Explicit

Sub Daten_Einlesen_Spezial()
'Daten aus Textdatei Zeilenweise mit rückfrage einlesen
Dim strText As String, strFile As String
Dim lngLine As Long, lngC As Long, lRow As Long, lngCalc As Long
Dim wks As Worksheet
With Application
lngCalc = .Calculation
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
On Error GoTo FEHLER
lRow = 1
Set wks = Sheets("Tabelle1") 'Tabelle in die geschrieben wird - anpassen
strFile = Application.GetOpenFilename("Textdateien (*.txt; *.log; *.dat; *.fre),*.txt; *.log; *.dat; *.fre")
If strFile = "Falsch" Then Exit Sub
Close #1
'Öffnen und die Anzahl der zeilen fesstellen
Open strFile For Input As #1
lngLine = 0
Do While Not EOF(1)
Input #1, strText
lngLine = lngLine + 1
Loop
Close #1 'Schliessen
'Öffnen und Daten schreiben
Open strFile For Input As #1
For lngC = 1 To lngLine Step 10
Input #1, strText
Cells(lRow, 1) = strText
lRow = lRow + 1
Next lngC
Close #1
Debug.Print lRow
Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, Semicolon:=True, Space:=True, Other:=True, _
FieldInfo:=Array(1, 1)
wks.Columns.AutoFit
FEHLER:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = lngCalc
End With
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Sepp
Anzeige
Sorry Denkfehler;-)
11.12.2004 00:27:22
Josef Ehrensberger
Hallo Chris!
Zu später Stunde ein lapsus ;-((
So muss es sein.

Sub Daten_Einlesen_Spezial()
'Daten aus Textdatei jede x-te Zeile einlesen
Dim strText As String, strFile As String
Dim lngLine As Long, lngC As Long, lRow As Long, lngCalc As Long
Dim iStep As Integer
Dim wks As Worksheet
With Application
lngCalc = .Calculation
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
On Error GoTo FEHLER
lRow = 1
iStep = 10 'Zeilensprung
Set wks = Sheets("Tabelle1") 'Tabelle in die geschrieben wird - anpassen
strFile = Application.GetOpenFilename("Textdateien (*.txt; *.log; *.dat; *.fre),*.txt; *.log; *.dat; *.fre")
If strFile = "Falsch" Then Exit Sub
Close #1
'Öffnen und die Anzahl der zeilen fesstellen
Open strFile For Input As #1
lngLine = 0
Do While Not EOF(1)
Input #1, strText
lngLine = lngLine + 1
Loop
Close #1 'Schliessen
'Öffnen und Daten schreiben
Open strFile For Input As #1
For lngC = 1 To lngLine
Input #1, strText
If lngC Mod iStep = 0 Then
wks.Cells(lRow, 1) = strText
lRow = lRow + 1
End If
Next lngC
Close #1
wks.Columns(1).TextToColumns Destination:=wks.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, Semicolon:=True, Space:=True, Other:=True, _
FieldInfo:=Array(1, 1)
wks.Columns.AutoFit
FEHLER:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = lngCalc
End With
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Sepp
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige