Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler 52 beim einlesen von Textdateien

Laufzeitfehler 52 beim einlesen von Textdateien
19.02.2019 16:51:58
Textdateien
Schönen Guten Tag,
ich versuche gerade mehrere Textdateien in Excel einzulesen. Dabei soll eine Textdatei pro Zeile in Excel auftauchen. Sprich die erste Textdateizeile taucht in der ersten Spalte, die zweite Textdateizeile in der zweiten Spalte etc..
Das funktioniert auch soweit, jedoch bekomme ich bei der Textdatei 513 immer ein Laufzeitfehler. Hier ist laut Internet ein Limitation durch Excel gesetzt(Array Limit). Kann mir jemand helfen und ein Tipp geben wie ich dieses Limit umgehen kann?
Hier der Code:
_____________________________
Sub TXTimportieren()
'Importiert den Inhalt der Textdateien Zeilenweise
'Variablen definieren
Dim Pfad As String
Dim PDFDateipfad As String
Dim Dateiname As String
Dim Dokumentenindex As Long
Dim AnzahlDateien As Integer
Dim Zeile As Integer
Dim Inhalt As String
'Pfad definieren
Pfad = ActiveWorkbook.Worksheets("Menü").Range("C11").Value
'AnzahlDateien aus Menü
AnzahlDateien = ActiveWorkbook.Worksheets("Menü").Range("H7").Value
'Tabellenblatt aktivieren&bereinigen
ThisWorkbook.Worksheets("Import").Activate
ActiveSheet.Columns("A:XX").Delete
'Startwerte zuweisen
For Dokumentenindex = 1 To AnzahlDateien
Zeile = 1
Dateiname = ActiveWorkbook.Worksheets("Übersicht").Range("C" & Dokumentenindex).Value
PDFDateipfad = ActiveWorkbook.Worksheets("Übersicht").Range("A" & Dokumentenindex).Value
ActiveSheet.Cells(Dokumentenindex, 1) = PDFDateipfad
'Quelldatei ansprechen
Quelldatei = Pfad & "\" & Dateiname
'Quelldatei öffnen
Open Quelldatei For Input As #Dokumentenindex
'Informationen in das Tabellenblatt einfügen
Do While Not EOF(Dokumentenindex)   'komplette Datei einlesen(DoSchleife)
'Zeilenweise auslesen
Line Input #Dokumentenindex, Inhalt
'Wert in das Tabellenblatt eintragen
ActiveSheet.Cells(Dokumentenindex, Zeile + 1) = Inhalt
Zeile = Zeile + 1
Loop   'Do Schleifenende
'Quelldatei schließen
Next
End Sub

______________________________________________
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 52 beim einlesen von Textdateien
19.02.2019 16:56:36
Textdateien
Hola,
verlinkst du bitte deine Fragen in den verschiedenen Foren untereinander?
Danke.
Gruß,
steve1da
AW: Laufzeitfehler 52 beim einlesen von Textdateien
19.02.2019 17:08:29
Textdateien
Hallo Arne,
du kannst nur Dateinummern von 1 bis 511 benutzen. In deinem Makro macht die Nummierung der Dateien keinen Sinn. Du kannst immer die selbe Nummer benutzen.
Teste mal:
Sub TXTimportieren()
    'Importiert den Inhalt der Textdateien Zeilenweise
    
    
    'Variablen definieren
    Dim Pfad As String
    Dim PDFDateipfad As String
    Dim Dateiname As String
    Dim Dokumentenindex As Long
    Dim AnzahlDateien As Integer
    Dim Spalte As Long
    Dim Inhalt As String
    Dim DateiNummer As Integer
    
    Reset
    DateiNummer = FreeFile
    
    'Pfad definieren
    Pfad = ActiveWorkbook.Worksheets("Menü").Range("C11").Value
    
    'AnzahlDateien aus Menü
    AnzahlDateien = ActiveWorkbook.Worksheets("Menü").Range("H7").Value
    
    'Tabellenblatt aktivieren&bereinigen
    ThisWorkbook.Worksheets("Import").Activate
    ActiveSheet.Columns("A:XX").Delete
    
    'Startwerte zuweisen
    For Dokumentenindex = 1 To AnzahlDateien
        Spalte = 1
        Dateiname = ActiveWorkbook.Worksheets("Übersicht").Range("C" & Dokumentenindex).Value
        PDFDateipfad = ActiveWorkbook.Worksheets("Übersicht").Range("A" & Dokumentenindex).Value
        ActiveSheet.Cells(Dokumentenindex, 1) = PDFDateipfad
        
        'Quelldatei ansprechen
        Quelldatei = Pfad & "\" & Dateiname
        
        
        'Quelldatei öffnen
        Open Quelldatei For Input As #DateiNummer
        
        'Informationen in das Tabellenblatt einfügen
        Do Until EOF(DateiNummer) 'komplette Datei einlesen(DoSchleife)
            
            
            'Zeilenweise auslesen
            Line Input #DateiNummer, Inhalt
            
            'Wert in das Tabellenblatt eintragen
            ActiveSheet.Cells(Dokumentenindex, Spalte + 1) = Inhalt
            
            Spalte = Spalte + 1
            
        Loop 'Do Schleifenende
        
        'Quelldatei schließen
        Close #DateiNummer
        
    Next
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Laufzeitfehler 52 beim einlesen von Textdateien
19.02.2019 18:19:26
Textdateien
Hallo Drauflosprogrammierer Arne,
hättest Du einmal den Cursor auf 'Open' gesetzt und die F1-Taste gedrückt, dann hätte Dir die Vba-Online-Hilfe verraten, was zu tun ist, um eine gültige FileNumber zu erhalten.
Das Motto - einfach mal ein paar Excel-Foren beschäftigen, statt selber aktiv zu werden, ist für mich total unverständlich.
Gruß von Luschi
aus klein-Paris
PS: und ich hoffe, daß Dir die Tante 'Google' nicht unbekannt ist!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige