Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
268to272
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
268to272
268to272
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten aus *.txt bzw. *.log in *.xls importieren

Daten aus *.txt bzw. *.log in *.xls importieren
17.06.2003 11:23:38
Angelika_26
Hallöchen,

ich habe mal eine kleine Frage und weiß einfach nicht mehr weiter.. und da ich Anfängerin bin hoffe ich auf wertvolle Hilfe von euch:))

Und zwar möchte ich Daten aus einem Log-File bzw. txt-File automatisch in eine Excel-Datei importieren lassen, wobei hierbei NUR die Zeilen automatisch in Excel exportiert werden sollen, die mit einem bestimmten Zeichen (in diesem Beispiel AN) anfangen.

Beispiel: Log-File/txt-File

AN1111 20030616 123546 123 18551913 3
AN1111 20030616 123456 456 14251425 5
OF1111 20030616 123546 789 14501455 7
OF1111 20030616 123456 012 14281429 8
AN1111 20030616 123456 456 18211825 7
OF1111 20030616 123456 012 11101120 2

Ausgabe-Ergebnis in Excel (nur dort wo die Zeile im Log-file mit den Buchstaben AN beginnt):
Spalte 1..........Spalte 2...........Spalte 3
20030616.......1855.................1913
20030616.......1425.................1425
20030616.......1821................ 1825

Ich hoffe, dass das Ganze einigermaßen verständlich erklärt ist...
Habt ihr einen Tip für mich?

Angelika

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Daten aus *.txt bzw. *.log in *.xls importieren
17.06.2003 11:39:50
Nike

Hi,
die Datei wirst du wohl erst per Öffnen Dialog ganz normal
importieren und dann in Excel entsprechend reduzieren müssen...
z.B. mit folgendem Makro...

sub löscher()
i=1
do
if left(cells(i,1),2)<> "AF" then
rows(i).delete
i = i-1
end if
i=i+1
loop until cells(i,1)=""
columns(1).delete 'Abschließed Spalte A löschen
end sub

Bye

Nike


Re: Daten aus *.txt bzw. *.log in *.xls importieren
17.06.2003 11:41:59
Michael Scheffler

Hi,

wen Du es nur ein paar mal brachst, kannst Du die Datei eingfach in Excel importieren, der Assistent führt Dich duch den Import. Und dann löschst Du die Zeilen, die Du nicht brauchst. Wenn Du es öfter brauchst, dann muüssen wir:-) eine kleine VBA-Routine schreiben.

Gruß

Micha

Anzeige
Re: Daten aus *.txt bzw. *.log in *.xls importieren
17.06.2003 12:23:39
Angelika

Ui so schnell Antwort ... damit hätte ich ja nun wirklich nicht gerechnet...
Natürlich könnte ich das ganz einfach über Excel importieren und mich dann über den Assistenten weiterführen, aber da ich das leider häufiger machen "muss", wäre es für mich praktischer das Ganze über eine Routine laufen zu lassen.
Das spannende an der Ganzen Sache ist - was ich noch nicht erwähnt habe- das zusätzlich eine 4. Spalte automatisch angefügt werden soll, in der die Differenz von Spalte 3 minus Spalte 2 stehen soll.
Also z.B.
Spalte 1.......Spalte 2.......Spalte 3.....Spalte 4
20030616.......1855...........1913.........28
20030616.......1425...........1430.........5
20030616.......1821...........1825.........4

Der "Wert in der Spalte 2" 1855 stellt die Anfangsuhrzeit 18:55 dar und 1913 --> 19:13 die Endzeit. Spalte 4 würde dann folglich die Dauer beinhalten.

Ich habe irgendwo folgendes Skript gefunden.
Das müsste natürlich angepasst werden, da ich als "Trennzeichen nicht das ";" habe sondern ein Leerzeichen.

Sub TextImport()
Dim rngFind As Range
Dim intRow As Integer
Dim strText As String, strFind As String
intRow = 1
Close
Open "E:\Programmierung\testdatei.txt" For Input As #1
Do Until EOF(1)
Line Input #1, strText
intRow = intRow + 1
Cells(intRow, 1) = DateValue(Left(strText, 8))
strText = Right(strText, Len(strText) - 9)
Cells(intRow, 2) = TimeValue(Left(strText, 8))
strText = Right(strText, Len(strText) - InStr(strText, ";"))
strFind = Left(strText, InStr(strText, ";") - 1)

Set rngFind = Rows(1).Find(Trim(strFind), lookat:=xlWhole, LookIn:=xlValues)
If Not rngFind Is Nothing Then
strText = Right(strText, Len(strText) - InStr(strText, ";"))

Cells(intRow, rngFind.Column) = Left(strText, InStr(strText, ";") - 1)


End If
Loop
Close
End Sub


Meint ihr ihr könntet mir da ein bissel behilflich sein?

Angelika


Anzeige
Re: Daten aus *.txt bzw. *.log in *.xls importieren
17.06.2003 13:41:20
Michael Scheffler

Hi,

das ist schon der richtige Ansystz. Schau Dir mal InStr und Split an.

Gruß

Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen