Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
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
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

letzte Zeile einer *.txt nach Excel auslesen

letzte Zeile einer *.txt nach Excel auslesen
21.03.2005 09:51:49
ray
Hallo,
ich habe ein Excelprog geschrieben, womit wir unsere Rechnungen bezahlen. Hierbei wäre es hilfreich, wenn man auch den mit SFirm eingelesenen Kontostand sehen könnte. SFirm erstellt eine *txt, in der in der letzten Zeile die gewünschte Info steht.
Kann man die letzte Zeile der txt-Datei auslesen und in einer Zelle in Excel eintragen?
Viele frühlingshafte Grüße aus dem sonnigen Hamburg bei 7 Grad.
ray

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

Betreff
Datum
Anwender
Anzeige
AW: letzte Zeile einer *.txt nach Excel auslesen
21.03.2005 10:03:35
MichaV
Hi,
geht mindestens so:
Dim strText As String
Open DeineDatei For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend
Close #1
Range("A1").Value = strText
Gruß! Micha
@Micha erklär mal Bitte
21.03.2005 10:09:37
ray
hi Micha, danke für die Info. Könntest du etwas erklären, damit ich auch lerne?
Dim strText As String ' das ist klar
Open DeineDatei For Input As #1 'auch klar aber was bedeutet #1
While Not EOF(1) '?
Line Input #1, strText 'Line Input #1 = ?
Wend '?
Close #1
Range("A1").Value = strText' das ist dann wieder klar...
Vielen Dank für Deine Hilfe
ray
Anzeige
AW: @Micha erklär mal Bitte
21.03.2005 10:16:58
MichaV
Hi,
hab auf die Erklärungen verzichtet, weil Dein Level Excel gut - VBA gut
Ansonsten geh mal im Editor auf z.B. OPEN und drück F1. Dann sparst Du Dir und mir die Tipparbeit im Forum ;o)
Dim strText As String ' das ist klar
Open DeineDatei For Input As #1 'auch klar aber was bedeutet #1 -&gt Datei Nummer 1
While Not EOF(1) 'solange, wie Ende von Datei 1 nicht erreicht
Line Input #1, strText 'lese eine Zeile der Datei 1 ein
Wend 'wieder hoch zu While
Close #1 'Datei Nummer 1 schließen
Range("A1").Value = strText' das ist dann wieder klar... na fein.
Gruß!
Anzeige
sorry, daß Dich meine Fragen nerven
21.03.2005 10:30:54
ray
oT
AW: sorry, daß Dich meine Fragen nerven
21.03.2005 10:35:28
MichaV
Hi Ray,
wenns mich genervt hätte, hätt ich nicht geantwortet.
Gruß!
AW: @Micha erklär mal Bitte
21.03.2005 10:20:57
UweD
Hallo
so:

Sub Laden()
Dim strText As String
DeineDatei = "C:\Temp\Test.txt"
Open DeineDatei For Input As #1
'reserviert einen E/A- Puffer für das einlesen einer sequenzillen Datei / hier Nr.1
While Not EOF(1)
' mache folgendes bis EOF (END O FILE ) von DAteipuffer Nr1 erreicht ist
Line Input #1, strText
' Liest eine Zeile von Datei1 in die Variable strText ein
Wend
'geht wieder zu While.. und überschreibt die Variable mit der nächsten Zeile
'Wenn EOF gelesen wurde, steht in der Variablen der Text der letzten Zeile
Close #1
' gibt den E/A Puffer wieder frei
Range("A1").Value = strText
'schreibt den Variableninhalt in Zelle A1
End Sub

Gruß UweD
Anzeige
AW: @UweD - perfekte Erklärung vielen Dank mT
21.03.2005 10:34:11
ray
Hi Uwe, vielen Dank für Deine Mühe.
Ich habe den code so eingegeben, aber ich bekommen nur seltsame Zeichen zurück...(in der letzten Zeile steht "letzzte Zeile"
Dim strText As String
Open "c:\test.txt" For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend
Close #1
MsgBox "" & strText
Was ist falsch?
Gruß ray
das kommt dabei raus:
21.03.2005 10:40:12
ray
hi,
statt: "letzte Zeile" kommt "ÐÏࡱ" ?

AW: das kommt dabei raus:
21.03.2005 10:45:10
UweD
Hallo
lad mal die Test.txt hier hoch..
AW: das kommt dabei raus:
21.03.2005 10:55:14
ray
Hi Uwe, hier der link
https://www.herber.de/bbs/user/19929.txt
Leider habe ich zudem gemerkt, daß es nicht die letzte sondern die vorletzte Zeile sein muß. Hab schon probiert mit EOF(1) -1 aber das geht nicht.
Wie baue ich vorletzte Zeile ein?
Viele Grüße aus HH
ray
Anzeige
AW: das kommt dabei raus:
21.03.2005 11:17:35
UweD
Hallo
hast du die Datei mal im editor geöffnet?
Ist keine reine ASCII -Datei, vermute ein Word Dokument.
Das hast du hochgeladen (als Ascii dargestellt)
ÐÏࡱá>þÿ "$þÿÿÿ!ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì¥Á@ ð¿bjbjîFîF7Œ,Œ,ÿÿÿÿÿÿˆJJJJJJJ^ ^¶&&&&&&&& $CR•@2J&&&&&2JJ&&G\\\&J&J& \& \\JJ\& €Q‹ö-Å&\ ]0\Õ6Õ\^^JJJJÕJ\°&&\&&&&&22^^¤F^^Zeile 1 Letzte Zeile ôèôÙhÇÎhG6UCJOJQJaJh{ìCJOJQJaJhG6UCJOJQJaJ úúúúúgdÇÎþ5 01h:pEP°‚. °ÆA!°Š"°Š# $n%°°u° ÄœD@ñÿD StandardCJ_HaJmHsHtHJA@òÿ¡J Absatz-StandardschriftartXi@óÿ³X Normale Tabelleö4Ö l4Öaö 0k@ôÿÁ0 Keine Listeÿÿÿÿ ˜0€€0˜0€€x˜0€€x˜0€€x˜0€€x &å%fnàoH5d/7p6=¤CEPYQG6UèkVa`ZÃJe?hE0prZsgzá\‹Ðd™lO¢$¤G¹ ÂdWÄÇÎMÐ[pÒQ#ÖVyÙ=Cç{ì=Nìvñ¨÷ò8û‡bû½ ü'üÿ@€¬ËC((`@ÿÿUnknownÿÿÿÿÿÿÿÿÿÿÿÿG‡z €ÿTimes New Roman5€Symbol3& ‡z €ÿArial"1ˆðÄ䩋ª“&‹ª“&ÑðŠ 9´‚4d2ƒQðH ðÿ?äÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ[pÒÿÿZeile 1DSDSþÿà…ŸòùOh«‘+'³Ù0Pˆ ¬¸ÄÐä ðü $08@HäZeile 1eilDSlSlSl Normal.dotDSm1mMicrosoft Word 10.0@jæõ-Å@jæõ-ÅþÿÕÍ՜.“—+,ù®0ð hp|„Œ” œ¤¬´ ¼ Ðä : Zeile 1 Titelþÿÿÿ þÿÿÿþÿÿÿ þÿÿÿýÿÿÿ#þÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ ÀF ™ö-Å%€1Tableÿÿÿÿÿÿÿÿ WordDocumentÿÿÿÿÿÿÿÿ7SummaryInformation(ÿÿÿÿDocumentSummaryInformation8ÿÿÿÿÿÿÿÿÿÿÿÿCompObjÿÿÿÿÿÿÿÿÿÿÿÿjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ ÿÿÿÿ ÀFMicrosoft Word-Dokument MSWordDocWord.Document.8ô9²q
Du mußt reinen Ascii erzeugen...
Wenn das vorliegt bekommst du so die Vorletzte Zeile

Sub Laden()
Dim strText$, Vorletzte$
Open "C:\Temp\Test.txt" For Input As #1
While Not EOF(1)
Vorletzte = strText
Line Input #1, strText
Wend
Close #1
MsgBox Vorletzte
End Sub

Gruß UweD
Anzeige
ergänzung
21.03.2005 11:49:35
ray
hallo uwe, hab grad gesehen, daß es entweder die vorletzte oder die letzte sein soll. die vorletzte nur dann, wenn die letzte "-" ausgibt.
Hab grad mal versucht das einzubauen geht aber nicht. Was mach ich den jetzt wieder falsch...
Dim strText$, Vorletzte$
DeineDatei = "C:\SFIRM32\sic\STA00127.STA"
Open DeineDatei For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend

If strText = "-" Then
While Not EOF(1)
Vorletzte = strText
Line Input #1, strText
Wend
End If

Close #1

Range("A4").Value = strText

End Sub
Anzeige
AW: ergänzung
21.03.2005 12:08:24
UweD
VBA = gut?
So

Sub Laden()
Dim strText$, Vorletzte$
DeineDatei = "C:\SFIRM32\sic\STA00127.STA"
Open DeineDatei For Input As #1
While Not EOF(1)
Vorletzte = strText
Line Input #1, strText
Wend
Close #1
If strText = "-" Then strText = Vorletzte
Range("A4").Value = strText
End Sub

Gruß UweD
wie einfach.... mT
21.03.2005 13:12:32
ray
uwe, nachmal danke für Deine Geduld. Heute habe ich wieder mal richtig was gelernt. Eines verstehe ich aber noch nicht. Woher weiß das Prog, daß "Vorletzte" die Vorletzte Zeile ist?
Viele Grüße
ray
AW: wie einfach.... mT
21.03.2005 14:07:18
UweD
Hi
1)While Not EOF(1)
2) Vorletzte = strText
3) Line Input #1, strText
4)Wend
Die gesamte Schleife wird solange durchlaufen, bis EOF erkannt wird
2) Wenn das noch nicht so ist, wird Vorletzte mit dem Wert aus StrText belegt (im ersten Durchlauf ist das noch "" (also leer)
Bei 3) wird dann die erste Zeile gelesen
4) Rücksprung zu 1)
1) immer noch kein EOF, daher
2) Jetzt wird Vorletzte mit dem Wert aus dem ersten Durchlauf gesetzt also Zeile 1
3) Zweite Zeile...
Irgendwann kommen wir zur letzten Zeile, dann steht in der Varablen Vorletzte eben die Vorletze Zeile Drin. Die Letzte wird dann in strText gelegt.
Jetz wird die Schleife wieder durchlaufen, aber jetzt wird beim Lesen eben EOF erkannt und das Programm macht bei Close weiter...
Gruß UweD
Anzeige
Vielen Dank Uwe, Du kannst super erklären. oT
21.03.2005 16:10:01
ray
oT

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige