Office: VBA- Letzte Zeile einer TXT Datei ermitteln

Helfe beim Thema VBA- Letzte Zeile einer TXT Datei ermitteln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo ich lese mit folgendem Code eine TXT Datei Zeilenweise ein. Sub txt() Dim lngZeile&, lngRow&, strFile$, strTxt$, DatIn As Object, i%, j%,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Marius82, 19. Juni 2013.

  1. Marius82 Erfahrener User

    VBA- Letzte Zeile einer TXT Datei ermitteln


    Hallo
    ich lese mit folgendem Code eine TXT Datei Zeilenweise ein.
    Code:
    Sub txt()
        Dim lngZeile&, lngRow&, strFile$, strTxt$, DatIn As Object, i%, j%, wsAP As Worksheet
        Dim strDatum As String, t As Long
         Application.ScreenUpdating = False
        
         strFile = "c:\test\test.txt"
         Set DatIn = CreateObject("Scripting.FileSystemObject").OpenTextFile(strFile, 1, False)
         Set wsAP = ThisWorkbook.Worksheets("AP")
         Do While DatIn.AtEndOfStream <> True
              strTxt = DatIn.ReadLine
              lngRow = lngRow + 1
              wsAP.Cells(lngRow, 1) = strTxt
         Loop
         DatIn.Close
    End Sub
    
    
    Vorher möchte ich aber wissen wieviele Zeilen in der TXT Datei sind. Kann ich mir gleich die Anzahl ausgeben lassen, ohne jede Zeile durchzuzählen?

    Ich benutze Excel 2010

    Danke
     
    Marius82, 19. Juni 2013
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    falls die Textdatei nicht allzu groß ist, kann man auch folgendermaßen vorgehen, indem man statt der "ReadLine"-Methode des "TextStream"-Objektes die "ReadAll"-Methode anwendet. Dabei wird gleich die ganze Textdatei eingelesen, sodass man den Inhalt einer Stringvariablen (DatZeilen$) zuweisen kann.
    Mit Hilfe der "Split"-Funktion kann man über die Zeilenendezeichen (meist CR+LF) die Textzeilen einer dynamisch dimensionierten String-Array-Variablen (Zeilen$) zuweisen und über die UBOUND-Funktion die obere Dimension (=Zeilenanzahl) dieser Variablen ermittlen.

    Code:
    Sub txt2()
        Dim lngZeile&, lngRow&, strFile$, strTxt$, i%, j%, wsAP As Worksheet
        Dim DatZeilen$, Zeilen$(), ZeilenAnzahl&
        'Dim DatIn As Scripting.TextStream, fs As Scripting.FileSystemObject
        Dim DatIn As Object
        
        Dim strDatum As String, t As Long
        Application.ScreenUpdating = False
        'Set fs = New FileSystemObject
        'Set DatIn = fs.OpenTextFile(strFile, ForReading, False)
        strFile = "c:\test\test.txt"
        Set DatIn = CreateObject("Scripting.FileSystemObject").OpenTextFile(strFile, 1, False)
        Set wsAP = ThisWorkbook.Worksheets("AP")
        DatZeilen$ = DatIn.ReadAll
        DatIn.Close
        
        'falls das Zeilenende der Textdatei aus CR+LF-Zeichen besteht:
        Zeilen$ = Split(DatZeilen$, vbCrLf)
        ZeilenAnzahl& = UBound(Zeilen$)
         
        For lngRow = 0 To ZeilenAnzahl&
          wsAP.Cells(lngRow+1, 1) = Zeilen$(lngRow)
        Next lngRow
        
        Application.ScreenUpdating = True
    End Sub
    
     
    Zuletzt bearbeitet: 23. Juni 2013
    Exl121150, 23. Juni 2013
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Anton,

    das Auslesen des Arrays sollte auch ohne Schleife gehen:

    Code:
        wsAP.Range("A1").Resize(UBound(Zeilen$) + 1, 1) = Application.Transpose(Zeilen$)
    
    Bis später,
    Karin
     
    Beverly, 23. Juni 2013
    #3
  4. Exl121150 Erfahrener User

    VBA- Letzte Zeile einer TXT Datei ermitteln

    Hallo Karin,

    danke für den Hinweis. Es gibt eben immer wieder eine Möglichkeit, an die man nicht gedacht hat.
     
    Exl121150, 24. Juni 2013
    #4
Thema:

VBA- Letzte Zeile einer TXT Datei ermitteln

Die Seite wird geladen...
  1. VBA- Letzte Zeile einer TXT Datei ermitteln - Similar Threads - VBA Letzte Zeile

  2. VBA - letzte nicht-leere Spalte

    in Microsoft Excel Hilfe
    VBA - letzte nicht-leere Spalte: Moin, liebe VBA-Spezis, mit Cells(99, Columns.Count).End(xlToLeft).Column bestimme ich die Spaltenzahl der letzten benutzten Zelle in Zeile 99. Soweit, so klar. Nun habe ich aber Formeln in...
  3. Drucken bis letzte beschriebene Zeile per VBA

    in Microsoft Excel Hilfe
    Drucken bis letzte beschriebene Zeile per VBA: Hallo, ich habe eine Tabelle von A3-O310 welche aber nicht immer voll ausgefüllt wird, da diese täglich neu beschrieben wird. Nun habe ich ein Makro gefunden, welches zwar den Druckbereich...
  4. Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln

    in Microsoft Excel Hilfe
    Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln: Hallihalllo, Ich sitze gerade an meine Bachelorarbeit und muss mittels VBA ein Auswertungsprogramm für erhobene Daten erarbeiten. Ich suche schon ewig im Internet nach dem passenden Code und...
  5. Nächste Leere Zeile statt Letzte Zeile finden

    in Microsoft Excel Hilfe
    Nächste Leere Zeile statt Letzte Zeile finden: Servus Zusammen, Ich benutze aktuell folgende Codezeile um in einer Matrix die letzte Leere Zeile zu finden. LZeile = Sheets("Interna").Cells(Rows.Count, "B").End(xlUp).Row + 1 Die liste besteht...
  6. [VBA] Letzte zelle (Ignorieren von Filter und ausgeblendete Zeilen)

    in Microsoft Excel Hilfe
    [VBA] Letzte zelle (Ignorieren von Filter und ausgeblendete Zeilen): Hallo miteinander, ich ermittle die Letzte Zelle in einer Externe Datei. Das klappt auch, solange nicht die letzten Zeilen ausgeblendet sind, wie kann ich das erreichend das auch die...
  7. Via VBA die erste & letzte Zeile einer Seite ermitteln

    in Microsoft Excel Hilfe
    Via VBA die erste & letzte Zeile einer Seite ermitteln: Hallo zusammen, gibt es eine Möglichkeit, mit Hilfe derer ich die erste und letzte Zeile einer Seite ermitteln kann? Ich brauche dies, da ich über SQL sehr viele Datensätze habe, aber am Anfang...
  8. Mal wieder letzte benutzte Zelle per VBA ermitteln

    in Microsoft Excel Hilfe
    Mal wieder letzte benutzte Zelle per VBA ermitteln: Guten Abend, ich sitze hier vor einem für mich schier unlösbarem Problem. Ich möchte in der gerade aktiven Tabelle die letzte benutzte Zelle in Spalte A ermitteln und den Wert aus der...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden