Ich lese aus einer PRN-Datei die Werte ins Excel ein wie folgt:
Option Explicit
Sub Daten_einlesen() Dim iFree As Integer, strText As String, arrTmp, arrDaten() Dim lngCounter As Long, lngStart As Long, lngEnde As Long ReDim arrDaten(1 To 11, 1 To 1) iFree = FreeFile lngStart = ThisWorkbook.Worksheets("Admin").Range("C6") 'Anfangs-Datumswert lngEnde = ThisWorkbook.Worksheets("Admin").Range("C7") 'End-Datumswert Open ThisWorkbook.Worksheets("Admin").Range("B3") For Input As iFree 'Pfad zur prn.Datei Do While Not EOF(iFree) Line Input #iFree, strText arrTmp = Split(strText, ";") Select Case CDate(arrTmp(0)) Case lngStart To lngEnde lngCounter = lngCounter + 1 ReDim Preserve arrDaten(1 To 11, 1 To lngCounter) arrDaten(1, lngCounter) = arrTmp(0) arrDaten(2, lngCounter) = arrTmp(1) arrDaten(3, lngCounter) = arrTmp(2) arrDaten(4, lngCounter) = arrTmp(3) arrDaten(5, lngCounter) = arrTmp(4) arrDaten(6, lngCounter) = arrTmp(5) arrDaten(7, lngCounter) = arrTmp(6) arrDaten(8, lngCounter) = arrTmp(7) arrDaten(9, lngCounter) = arrTmp(8) arrDaten(10, lngCounter) = arrTmp(9) arrDaten(11, lngCounter) = arrTmp(10) End Select Loop Close iFree If lngCounter = "0" Then GoTo Ende ThisWorkbook.Worksheets("1").Range("A2:K1048576").ClearContents ThisWorkbook.Worksheets("1").Range("a2").Resize(lngCounter, 11) = WorksheetFunction. _ Transpose(arrDaten) Ende: End Sub
Jetzt habe ich das Problem, wenn mehr als 65563 Zeilen kopiert wurden, dass ich diese nicht in Excel einfügen kann. Habe die Zeile im Makro fett hinterlegt, wo das Makro dann hängen bleibt.
Da dies mit Excel 2007 funktionieren soll und dort bekanntlich 1048576 Zeilen vorhanden sind, suche ich eine Möglichkeit auch mehr als 65563 Zeilen einzulesen. Vielleicht muss Stepp für Stepp also die ersten 65500 Zeilen einlesen dann die nächsten.....
Gibt es dafür eine Lösung
Vielen Dank im Voraus!
MFG Andre