Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Inhaltsverzeichnis

TXT in Excel importieren

TXT in Excel importieren
16.05.2015 19:59:25
Melissa
Hallo zusammen,
ich bräuche mal Hilfe bei einem kleinen Skript, welches ich benötige. Ich habe ein Textfile, welches folgendermaßen aussieht:
Userbild
Oben sieht man wie gesagt, wie es in dem normalen Logfile aussieht. So wie unten sollte es dann in Excel importiert werden, sodass in jeder Spalte nur eine Info steht.
Es wäre klasse, wenn mir da jemand ein kleines Skript schreiben könnte. :)
Gruß
Melissa

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TXT in Excel importieren
17.05.2015 03:55:16
Oberschlumpf
Hi Melissa
sieht es in der txt-Datei wirklich genau so aus, wie du es zeigst?
Ist also an genau den Stellen überall das Zeichen | ?
Wenn nein, zeig uns die txt-Datei bitte per Upload.
Ciao
Thorsten

AW: TXT in Excel importieren
17.05.2015 17:16:23
Melissa
Hallo Thorsten,
ja die Datei sieht immer so aus wie ganz oben, nur das halt immer andere Werte drin stehen. Aber der Aufbau ist wie gesagt gleich.
Hab mal ein kleines Textfile angehangen:
https://www.herber.de/bbs/user/97685.txt

AW: TXT in Excel importieren
18.05.2015 17:24:57
Michael
Hi Melissa,
mit X365 kann ich Dir nicht dienen, aber X2000 wird es schon auch tun...
Das Makro:
Option Explicit
Sub Text_Lesen()
' da kann man noch errorhandling einbauen wie z.B.
' in http://vba1.de/vba/051dateiimport.php
' und im Forum stöbern nach Datei öffnen Dialog oder so
Dim Datei%, zeile%, p%, l%
Dim Pfad$, gelesen$
Dim zl_arr As Variant
Pfad = ThisWorkbook.Path & "\TextDateiLesen.txt"
Datei = FreeFile
zeile = 2
Open Pfad For Input As #Datei
While Not EOF(Datei)
Line Input #Datei, gelesen
'Debug.Print gelesen
If Len(gelesen) > 50 Then
zl_arr = Split(gelesen, "|")
Range("A" & zeile).Value = Trim(LTrim(zl_arr(0)))
Range("B" & zeile).Value = Trim(LTrim(zl_arr(1)))
' reine Sicherheitsmaßnahme, falls Bemerkung nicht vorh.
If UBound(zl_arr) > 2 Then
Range("G" & zeile).Value = "'" & Trim(LTrim(zl_arr(3)))
' Excel meckert, falls Zelle mit "+" beginnt
End If
gelesen = Trim(LTrim(zl_arr(2)))
l = Len(gelesen)
Range("f" & zeile).Value = Mid(gelesen, l - 4, 5)
p = InStr(gelesen, "->")
Range("c" & zeile).Value = Trim(Mid(gelesen, 1, p - 7))
Range("d" & zeile).Value = Mid(gelesen, p - 5, 5)
Range("e" & zeile).Value = Trim(LTrim(Mid(gelesen, p + 2, l - 5 - p - 2)))
zeile = zeile + 1
End If
Wend
Close #Datei
End Sub
Die Datei: https://www.herber.de/bbs/user/97704.xls
In Sachen Zahl, Textx entspricht die Beispieldatei nicht den oben gemachten Angaben. Schlimmstenfalls muß man hier noch ne if-Verzweigung anbringen (je nach dem, ob es mit + beginnt oder so) und das in zwei Spalten aufteilen. Mit dem vorhandenen Code bringst Du das evtl. selbst hin.
Schöne Grüße,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige