ich will aus ner textdatei die letzte zeilennummer ermitteln
wie muss da vorgehen ??
danke im voraus
gruss roland_k
Sub ErmittelnLetzteZeileInTextDatei()
Const csFile As String = "C:\Daten\TEMP\TextFiles\test.txt"
Dim sTxt As String, _
i As Long
On Error GoTo errHandler
Open csFile For Input As #1
Do While Not EOF(1)
i = i + 1
Line Input #1, sTxt
Loop
Close #1
MsgBox "Die Datei hat " & i & " Zeile(n) !"
Exit Sub
errHandler:
MsgBox "Fehler: " & Err.Number & vbCrLf & Err.Description
End Sub
Sub letzte_Textzeile()
Dim i As Long
Dim zeile As String
Open "c:\temp\bla.txt" For Input As #1
i = 0
Do While Not EOF(1)
Line Input #1, zeile
i = i + 1
Loop
MsgBox "letzte Zeile " & i
End Sub
Dim i As Long
Dim Zeilen() As String 'speichert die x zuletzt eingelesenen Zeilen
Const x = 5 'x.-te Zeile von unten wird gesucht
ReDim Zeilen(1 To x)
Open "e:\privat\tmp.txt" For Input As #1
i = 0
Do While Not EOF(1)
For i = 2 To x
Zeilen(i - 1) = Zeilen(i)
Next i
Line Input #1, Zeilen(x)
Loop
Close #1
MsgBox x & "-te Zeile von unten:" & Zeilen(1)
Die Datei https://www.herber.de/bbs/user/21874.txt wurde aus Datenschutzgründen gelöscht
wie der code genau funkt ist mir noch nicht klar drum kann das auch nicht erweitern ((
For i = 1 To x
MsgBox i & "-te Zeile von unten:" & Zeilen(i)
Next i
Die Datei https://www.herber.de/bbs/user/21914.txt wurde aus Datenschutzgründen gelöscht
Die Datei https://www.herber.de/bbs/user/21915.txt wurde aus Datenschutzgründen gelöscht
nun hab ich wirklich ein problem:Um die letzte Zeilennummer in einer Textdatei mit Excel VBA zu ermitteln, kannst du folgendes Makro verwenden. Dieses Makro zählt die Zeilen einer Textdatei und zeigt die Anzahl in einer MessageBox an.
Entwicklertools
> Visual Basic
.Einfügen
> Modul
.Sub ErmittelnLetzteZeileInTextDatei()
Const csFile As String = "C:\Daten\TEMP\TextFiles\test.txt"
Dim sTxt As String, _
i As Long
On Error GoTo errHandler
Open csFile For Input As #1
Do While Not EOF(1)
i = i + 1
Line Input #1, sTxt
Loop
Close #1
MsgBox "Die Datei hat " & i & " Zeile(n) !"
Exit Sub
errHandler:
MsgBox "Fehler: " & Err.Number & vbCrLf & Err.Description
End Sub
C:\Daten\TEMP\TextFiles\test.txt
auf den Pfad deiner eigenen Textdatei.EOF(1)
korrekt verwendet wird.Eine weitere Möglichkeit, die letzte Zeile einer Textdatei zu ermitteln, ist die Verwendung eines Arrays, um die letzten x Zeilen zu speichern. Hier ist ein Beispiel:
Sub letzte_Textzeile()
Dim i As Long
Dim zeile As String
Open "c:\temp\bla.txt" For Input As #1
i = 0
Do While Not EOF(1)
Line Input #1, zeile
i = i + 1
Loop
MsgBox "letzte Zeile " & i
End Sub
Diese Methode zählt ebenfalls die Zeilen, aber du kannst den Code anpassen, um nur die letzten Zeilen zu verarbeiten.
Wenn du die Werte aus der 5. Zeile vor der letzten Zeile einer Textdatei extrahieren möchtest, kannst du den vorherigen Code erweitern, um die gewünschten Zeilen zu speichern und anzuzeigen. Hier ist ein Beispiel:
Sub WerteVorLetzteZeile()
Dim i As Long
Dim zeile As String
Dim letzteZeilen(1 To 5) As String
Open "C:\Daten\TEMP\TextFiles\test.txt" For Input As #1
i = 0
Do While Not EOF(1)
i = i + 1
If i > 5 Then
letzteZeilen(i Mod 5 + 1) = zeile
End If
Line Input #1, zeile
Loop
MsgBox "Wert in der 5. Zeile vor der letzten: " & letzteZeilen((i - 5) Mod 5 + 1)
Close #1
End Sub
Dieses Skript speichert die letzten fünf Zeilen und zeigt den Wert der 5. Zeile vor der letzten an.
1. Wie kann ich mehrere Textdateien in einem Ordner einlesen?
Du kannst eine Schleife verwenden, um alle Dateien in einem Ordner zu durchlaufen und den oben beschriebenen Code für jede Datei auszuführen.
2. Was ist EOF in VBA?
EOF steht für "End Of File" und ist eine Funktion, die überprüft, ob das Ende einer Datei erreicht wurde.
3. Welche Excel-Version benötige ich für VBA?
VBA ist in den meisten aktuellen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen