Thema Datum  Von Nutzer Rating
Antwort
Rot Nach 66435 Zeilen kommt Laufzeitfehler
10.04.2018 12:40:32 gast345
NotSolved
10.04.2018 18:27:39 Mackie
NotSolved
11.04.2018 09:12:57 gast345
NotSolved
11.04.2018 17:23:44 Mackie
NotSolved

Ansicht des Beitrags:
Von:
gast345
Datum:
10.04.2018 12:40:32
Views:
919
Rating: Antwort:
  Ja
Thema:
Nach 66435 Zeilen kommt Laufzeitfehler

Hallo,

so ich hoffe jetzt das dass mein letzter Thread ist.

 

Ich möchte eine CSV Fatei auslesen, die zeilenanzahl ist variabel und kann bis zu 120000 zeilen gehen. Und dies in ein Excelsheet Tabelle 1 schreiben.

Ich habe das ganze bis 50000 Zeilen getestet und es funktioniert.

So jetzt habe ich eine csv Datei mit 120000 Zeilen erstellt und nach 66435 Zeilen bekomme ich jetzt immer die Fehlermeldung "Index außerhalb des gültigen Bereichs" Laufzeitfehler 9.

 

Meine Vermutung ist das mit der Open Anweisung ein E/A Speicherbereich zugewiesen wird. Und dieser jetzt zu klein ist.

Kann meine Vermutung stimmen?

Hätte jemand einen Vorschlag

 

 

Sub cmdStart_Click()
 
 
Dim strPfad As String
Dim strZS As String
Dim lngZeile As Long
Dim strDatei As String
Dim dblAnzahlZ As Double
Dim wkbcsv As Workbook
 
 
 
'****************************************************************
'Dialog Öffnen
 
With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .Title = "Wählen Sie die gewünschte Rohdaten Datei aus"
    Call .Filters.Add("CSV Dateien", "*.csv")
    If .Show = -1 Then
        strDatei = .SelectedItems(1)
    If Right(strDatei, 1) <> "\" Then strDatei = strDatei
     Else
        strDatei = ""
     End If
End With
    If strDatei = "" Then
       MsgBox "Sie haben keine Datei ausgewählt", vbOKOnly
       Exit Sub
    End If
    
    
 
lngZeile = 5
 
If strDatei <> "" Then
 
Workbooks.Open strDatei
 
End If
 
Open strDatei For Input As #1
 
 
 
With Tabelle1
        .Range("A2:I200000").Rows.ClearContents
        
        Line Input #1, strZS
        .Range("A3").Value = Split(strZS, ";")(0)
        .Range("B3").Value = Split(strZS, ";")(1)
        .Range("C3").Value = Split(strZS, ";")(2)
        .Range("D3").Value = Split(strZS, ";")(3)
        .Range("E3").Value = Split(strZS, ";")(4)
        .Range("F3").Value = Split(strZS, ";")(5)
        .Range("G3").Value = Split(strZS, ";")(6)
        .Range("H3").Value = Split(strZS, ";")(7)
        .Range("I3").Value = Split(strZS, ";")(8)
        
Do Until EOF(1)
        Line Input #1, strZS
        .Range("A" & lngZeile).Value = Split(strZS, ";")(0)
        .Range("B" & lngZeile).Value = Split(strZS, ";")(1)
        .Range("C" & lngZeile).Value = Split(strZS, ";")(2)
        .Range("D" & lngZeile).Value = Split(strZS, ";")(3)
        .Range("E" & lngZeile).Value = Split(strZS, ";")(4)
        .Range("F" & lngZeile).Value = Split(strZS, ";")(5)
        .Range("G" & lngZeile).Value = Split(strZS, ";")(6)
        .Range("H" & lngZeile).Value = Split(strZS, ";")(7)
        .Range("I" & lngZeile).Value = Split(strZS, ";")(8)
        
        lngZeile = lngZeile + 1
Loop
 
 
 
Close #1
 
End With
 
 
 
 
For Each wkbcsv In Workbooks
Application.DisplayAlerts = False
    If wkbcsv.Name <> ThisWorkbook.Name Then
        wkbcsv.Close savechanges:=False
    End If
    
Next wkbcsv
 
 
    
Me.lblAnzahlZ = _
ActiveSheet.UsedRange.Rows.Count & " Zeilen wurden aus der Rohdatendatei importiert"
 
Me.lblDateiname = strDatei & "wurde importiert"
 
 
End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Nach 66435 Zeilen kommt Laufzeitfehler
10.04.2018 12:40:32 gast345
NotSolved
10.04.2018 18:27:39 Mackie
NotSolved
11.04.2018 09:12:57 gast345
NotSolved
11.04.2018 17:23:44 Mackie
NotSolved