Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
604to608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
604to608
604to608
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

letzte zeile in textdatei ermitteln

letzte zeile in textdatei ermitteln
27.04.2005 20:54:58
roland_k
hi zusammen
ich will aus ner textdatei die letzte zeilennummer ermitteln
wie muss da vorgehen ??
danke im voraus
gruss roland_k

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ohne resonanz? komisch ??
28.04.2005 03:55:05
roland_k
das thema ist wohl falsch in dem forum?
oder wie kommts ....keine antwort ?
danke roland_k
AW: ohne resonanz? komisch ??
28.04.2005 06:03:23
roland_k
hi paula danke
habe das angesehn, sowas in der art muesste das sein
aber ich kann nicht erkennen ob ich das auf mein problem umsetzen kann
gruss roland_k
hi hajo - ist da was faul?
28.04.2005 07:02:22
roland_k
hi
kann das sein dass die profi hier verärgert sind,
kann mir nicht vorstellen dass mie niemand sagen kann wie ich die letzte zeilennummer einer textdatei ermittle um dann mit dieser als basis (lezte zeile -5) zb die zeile 45
von 50 z. b. auslesen kann ?
die textdateien sind gleich aufbegaut aber mit unterschiedlichen anzahl der gesamt zeilen
aber immer in der 5. zeile vor der letzten zeile stehn die werte die ich suche.
bin nun schon tage damit beschäftigt hmmm
sollte ich hier im forum was falsch gemacht haben, sollte ich das wissen, wenn sich dazu niemand äussert, kann ich ja kaum reagieren
danke fuer aufklärung
gruss roland_k
Anzeige
AW: letzte Zeile in Textdatei
28.04.2005 07:46:52
Hajo_Zi
Hallo roland,
ganz ruhig bleiben. Manchmal dauert es eine Weile bis jemand eine Lösung findet.
Es gibt wahrscheinlich keinen der sich komplett in Excel zu allen Punkten auskennt. Jeder hat so seine Spezialgebiet. Ich befasse mich nicht mit Textdateien bzw. nur am Rande, wie ich es für meine Privaten Sachen brauche. Hast Du schon mal die Recherche benutzt? Ich würde mal nach EOF suchen.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Anzeige
AW: letzte Zeile in Textdatei
28.04.2005 08:11:07
roland_k
hi hajo
will dir nicht zumuten die beiträge aufd meine fragen hierzu zu lesen
aber:
problematisch ist dann wenn code nicht getestet sind
so erhalte z.b eof()meine datei als antwort.......nix geht im vba editor zeile gelb ((
war das ein schreibfehler soll eof(meinedatei) heissen.
hier soll offenbar nicht ueber das dateiende hinausgelesen werden
dann mache ein beispiel .....mit viel muehe lade das ding incl.textdatei hoch ))
kommt ne loesung teilweise ok...aber nicht genau was ich will....
nachfrage:----------keine antwort mehr
tja der kleine rest ....irgendwo ..ne klammer ? ein " ein: ..oder sonst was
nehme an vom beantworter falsch verstanden ...oder nicht getestet ...hmm
wollte schon belohnung ausschreiben ...oder auftrag erteilen
schwierig .....wenns nur ein zeichen ist ? was soll berappen.
verstehe ja den frust fuer beantworter wenn:
a) grundlagenwissen oft fehlt...schwierige gratwanderung
b) vielfrager ....verpoent?
c) eben auftragsprogrmmierung angesagt wäre
thema vielfrager hab im offtropic angesehn ....ist gewissermassen schon ein problemim forum
danke dir fuer die aufmunterung :-))
keine sorge ich nehms locker...
immerhin ein vielversprechnder beitrag ist eingegangen ..den muss nu erst umsetzen ..aua
wuensche die erfolgreichen tag
gruss roland_k
Anzeige
AW: letzte Zeile in Textdatei
28.04.2005 08:15:38
WernerB.
Hallo Roland,
aus dem Vorschlag, auf den Paula hingewiesen hat, habe ich dieses Makro abgeleitet.
Ist Dir damit geholfen?
'Letzte Zeile in Textdatei ermitteln

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

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: letzte Zeile in Textdatei
28.04.2005 08:23:59
roland_k
hi werner danke erst mal
muss mir das erst genau ansehn
solle das denke in ne beispielmappe integriert haben
gruss roland_k
AW: hi hajo - ist da was faul?
28.04.2005 07:47:35
Harald Kapp
Hallo Roland,
vielleicht war es auch nur ein wenig spät und so richtig xcel-spezifisch ist das Problem ja nicht.
Hier mal was zum daraud aufsetzen:

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


Gruß Harald
tja kann sein dass das ansatz ist
28.04.2005 08:18:27
roland_k
hi harald
danke erst mal muss mir aber erst genau ansehn ob damit zum ziel komme
wuerde gerne ne beispielmappe mit textdatei hochladen
habe schon gemacht aber das problem ist eben
dass die textdateien unterschiedlich viele zeilen haben
nur vom ende her ....von unten (letzte zeile) ist der aufbau bei allen gleich
von der letzen zeile aus immer 5 zeilen davor steht meine gesuchte zahl
danke dir fuer deine muehe
gruss roland_k

Anzeige
AW: tja kann sein dass das ansatz ist
28.04.2005 08:26:25
Harald Kapp
Hallo Roland,
Du kannst m.W. eine Textdatei nicht mal eben von hinten aufrollen. Also brauchst Du zwei Durchläufe:
1) Zählen der Anzahl Zeilen (mein Beispiel, dort in "i" gemerkt)
2) Datei schließen und noch einmal öffnen, dann die ersten i-6 Zeilen einlesen und verwerfen, dann die Zeile i-5 einlesen und bearbeiten.
Gruß Harald
AW: tja kann sein dass das ansatz ist
28.04.2005 08:44:16
MichaV
Moin,
so gehts auch mit 1 mal einlesen und mit jeder beliebigen Zeile von unten.


      
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) 

     Code eingefügt mit Syntaxhighlighter 3.0

Gruß- Micha
Anzeige
fuer eine zelle klappt wie fuer mehrere?
29.04.2005 13:13:28
roland_k
hi micha
habe ddas probiert --fuer eine zeile bekomme das hin:
habe das beispiel hochgeladen
https://www.herber.de/bbs/user/21873.xls

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 ((
kannst du mir das angleichen
oder ev jemand wo sich damit auskennt ?
danke im voraus
gruss roland_k
AW: fuer eine zelle klappt wie fuer mehrere?
29.04.2005 19:14:36
MichaV
Hi Roland,
nach Close #1 enthält das Array Zeilen() die x letzten Zeilen der Datei. Wenn Du am Ende anstatt der MsgBox mal

For i = 1 To x
MsgBox i & "-te Zeile von unten:" & Zeilen(i)
Next i

einbaust, dann siehst Du es.
Nach Deinem Beispiel würde ich x auf 12 setzen und dann auswerten. Zeilen(9) wäre dann z.B. "josef", Zeilen(10)="er/sie hat heute 11 punkte gewonnen" usw.
Frohes Schaffen! Gruß- Micha
PS: kommen bei jedem Einlesen immer 3 Leute dazu?
Anzeige
wieder msgbox ?
29.04.2005 23:08:09
roland_k
hi micha
danke erst mal
muss probieren was du meinst
dachte sehe den code im beispiel(
namen sind oft gleiche einmal maria rubin super dann --josef maria super,-- otto maria super ---
gruss roland_k
du sagst soll msg box ersetzen mit ?
hi micha habs gefunden)) mit text
30.04.2005 09:06:27
roland_k
hi micha
danke die loesung ist toll finde ich,wenn man sie dann versteht.
erst konnte nichts damit anfangen dann hatte eine traum )))
die zählweise ist eben von der x ten zeile von unten abwärts
ich dachte die letzte zeile = 1 die vorletzte = 2 usw.
die zeile trage ich nun ein: mit .....
If i = 3 Then Cells(i + 2, 2) = Zeilen(i)===========name
If i = 4 Then Cells(i + 2, 2) = Val(Mid(Zeilen(i), 17, 5))==========punkte
nun wirds erst kompliziert:
im ordner c\archiv\Monat stehen mehrere gleich aufgebaute dateien:
"Pr-datum-uhrzeit.LST".....textdateien, ich weiss auch nicht warum endung LST..?
aber wenn ich diese in die open anweisung schreibe funktioniert das auch
ich will nun alle in dem ordner stehenden dateien einlesen
dazu muss ich dann in dem tabellenblatt wo diese eingetragen werden die letzte eingetragene zeile suchen und dann jeweils in die nächste eintragen.
dieses bekomme ich soweit hin in dem ich für spalte(2) in cells(i+ 2, 2)die letzte gefundene spalte suche und eine weiter rechts eintrage:
jetzt bräuchte ich eben den code um alle im ordner z. b. April befindlichen dateien nacheinander einzulesen und diese textdateien ev nach einlesen in nen andern ordner z. b. A_April verschiebe. so dass ich nicht die schon eingelesenen dateien nicht nochmal reinhole. ob dies ohne grossen aufwand auch ohne verschieben geht ??
ich lade die mappe mit dem bisher funktionierenden code und die zugehörigen textdateien hoch: die dateien LST habe in TXT umbenannt weil der excel server endung .LST nicht annnimmt.
https://www.herber.de/bbs/user/21913.xls

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:
mute ich dem beantworter hier zu viel zu ? sprenge ich mit dieser frage den rahmen der im forum ueblichen zulässigen fragestellungen.
ich nehme natuerlich gerne loesungen kostenlos an, aber ich wäre auch bereit auf absprache einen pauschalbetrag anzubieten. dazu bräuchte ich jedoch ein angebot.
jedenfalls vielen dank für die bisherige hilfe,
grüsse von der schweizer grenze roland_k
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige