Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1432to1436
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
Inhaltsverzeichnis

Import Messreihen - Überlauf Array

Import Messreihen - Überlauf Array
08.07.2015 13:58:15
Thaddeus
Hallo zusammen,
ich habe folgendes Problem:
Im Rahmen meiner Bachelor-Arbeit muss ich in einer Excel-Mappe Messdaten eines Tachymeters auswerten.
Zum Import der Messdaten habe ich folgendes Makro gebastelt.
Option Explicit
Public anzahl_pkt As Long
Public Sub import_messwerte()
Application.ScreenUpdating = False
Dim Arr
Dim Datei
Dim FSO
Dim l As Long
Dim Tmp As Variant
Dim vnt_Ausgabe As Variant
Dim i As Integer
Dim Str_String As String
Dim Dateipfad As String
Anzahl_Punkte.Show ' hier wird lediglich d der Wert von anzahl_pkt festgelegt
Dateipfad = Application.GetOpenFilename
Set FSO = CreateObject("Scripting.FilesystemObject")
Set Datei = FSO.OpentextFile(Dateipfad)
Str_String = Datei.readall
Datei.Close
Arr = Split(Str_String, vbCrLf)
ReDim vnt_Ausgabe(UBound(Arr), anzahl_pkt)
For l = 0 To UBound(Arr)
Tmp = Split(Arr(l), ",")
For i = 0 To UBound(Tmp)
vnt_Ausgabe(l, i) = Tmp(i)
Next
Next
Sheets("Import").Range(Cells(1, 1), Cells(1, 4)).Resize(UBound(vnt_Ausgabe) 1, UBound(vnt_Ausgabe, 2)) = vnt_Ausgabe
Die Messwerte liegen in folgender Form in .txt-Dateien vor :
1,33659.775,68708.745,297.625,
2,33659.831,68708.831,297.624,
.
.
.
2400,33644.475,68733.730,296.160,
Bei der kleineren der beiden Dateien (2400 Zeilen) funktioniert das ganze ohne Probleme.
Will ich jedoch die größere Messreihe importieren (12500 Zeilen) erhalte ich immer die Fehlermeldung "Überlauf".
Vielen Dank schonmal im Voraus
Tobi

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

Betreff
Datum
Anwender
Anzeige
AW: Import Messreihen - Überlauf Array
08.07.2015 14:28:44
Michael
Hallo Tobi,
das können wir ohne Werte natürlich schlecht testen; wenn es prinzipiell läuft, würde ich testhalber noch eine Variable z wie Zeile einführen, die Du in der äußeren Schleife mitzählst, und die jedesmal, wenn sie einen bestimmten Wert erreicht, den "Puffer" ins Sheet schreibt - passend zum Wert kannst Du dann vnt_Ausgabe dimensionieren, etwa auf 200 Zeilen oder so. (Das geht natürlich auch ohne extra Variable mit MOD 200, aber ein schlichter Vergleich sollte schneller sein als ein MOD)
An welcher Stelle erscheint denn die Fehlermeldung? Beim ersten split?
Dann könntest Du die Datei schlimmstenfalls zeilenweise einlesen und abarbeiten.
Schöne Grüße,
Michael

Anzeige
AW: Import Messreihen - Überlauf Array
08.07.2015 14:51:12
Thaddeus
Danke für die schnelle Antwort.
Leider tritt der Fehler auf, sobald die innere Schleife das erste mal abgearbeitet werden soll.
Ein Puffer kommt deshalb leider nicht in Frage...
Würde es sehr viel länger dauern, die Datei zeilenweise einzulesen?
Ich habe die Messdaten mal auf den Server gepackt : https://www.herber.de/bbs/user/98713.zip
Grüße

AW: Import Messreihen - Überlauf Array
08.07.2015 15:05:00
Rudi
Hallo,
nimm die OpenText-Methode.
Sub Makro2()
Dim s
s = Application.GetOpenFilename
Workbooks.OpenText Filename:=s, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1)), DecimalSeparator:=".", _
ThousandsSeparator:=",", TrailingMinusNumbers:=True
End Sub

Gruß
Rudi

Anzeige
AW: Import Messreihen - Überlauf Array
08.07.2015 15:17:09
Thaddeus
So einfach kanns gehen :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige