Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenimport aus .txt-Datei

Forumthread: Datenimport aus .txt-Datei

Datenimport aus .txt-Datei
03.01.2008 10:54:19
Wolfgang
Hallo,
unter Recherche konnte ich untenstehenen Code entdecken, den ich schon versucht habe, anzupassen - allerdings ohne Erfolg. Ich würde gerne erreichen, dass der Inhalt der Textdatei mit den genannten Überschriften in die jeweilige Spalte -ab Zeile 3- importiert wird. Ich habe untenstehend ebenfalls einmal eine Mustertextdatei beigefügt. Danke schon jetzt für die Rückmeldungen.
Herzliche Grüße
Wolfgang
Hier zunächst die Textdatei:
https://www.herber.de/bbs/user/48766.txt
und hier der bisherige Code, in dem ich leider verschiedene Dinge nicht deuten kann
(was bedeutet hier z.B. startpos?):

Sub Text_Import()
Dim spalte As Integer
Dim zeile As Integer
Dim startpos As Integer
'StartVerzeichnis - bitte anpassen
ChDrive "c:\"
ChDir "\Dokumente und Einstellungen\Wolfgang\Desktop"
'Dialogfenster Öffnen
sFile = Application.GetOpenFilename _
("alle Dateien (*.txt), *.txt")
If sFile  False Then
Close
Open sFile For Input As #1
zeile = 3
Do While Not EOF(1)
Line Input #1, strtxt
spalte = 0
If UCase(Left(strtxt, 5)) = UCase("AS_Name") Then
spalte = 1
startpos = 8
End If
If UCase(Left(strtxt, 7)) = UCase("AS_Vorname") Then
spalte = 2
startpos = 10
End If
If UCase(Left(strtxt, 7)) = UCase("HAUS_AS_Straße") Then
spalte = 5
startpos = 10
End If
'schön wäre, hier auch HAUS_AS_Ort und HAUS_AS_Ortsteil in Spalte 6 eingefügt zu  _
bekommen.
If UCase(Left(strtxt, 7)) = UCase("HAUS_AS_PLZ") Then
spalte = 6
startpos = 10
End If
If UCase(Left(strtxt, 7)) = UCase("AS_Liefernr") Then
spalte = 9
startpos = 10
End If
If spalte > 0 Then Cells(zeile, spalte).Value = Mid(strtxt, startpos)
If strtxt = "|" Then zeile = zeile + 1
Loop
Close
End If
End Sub


Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport aus .txt-Datei
03.01.2008 11:09:00
ede
Hallo Wolfgang,
es sieht danach aus, das dein gefundenes Makro eine Textdatei einliest, in der in einer Zeile Schlüsselworter stehen und danach der eigentliche Inhalt:
so zum Beispiel
Name Mustermann
Vorname Wolfgang
|
als stratpos wird das erste zeichen des richtigen Namens gestetzt.
der senkrechte Strich dient wahrscheinlich der Zeilentrennung.
Der Aufbau deiner text-Beispieldatei ist etwas anderst, also kann diese MAkro nicht funktionieren!
Gruss

Anzeige
AW: Datenimport aus .txt-Datei
03.01.2008 11:09:00
haw
Hallo Wolfgang,
hier eine Aufzeichnung des Makrorecorders zum Öffnen der Datei:

Sub Makro2()
ChDir "C:\Daten\Herber"
Workbooks.OpenText Filename:="C:\Daten\Herber\48766.txt", _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array( _
13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1),  _
Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, _
1), _
Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1),  _
Array( _
33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39,  _
1), _
Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1),  _
Array( _
46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52,  _
1), _
Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1),  _
Array( _
59, 1)), TrailingMinusNumbers:=True
End Sub


Dann musst du die Daten nur noch (per Makro oder manuell) an die geeignete Stelle kopieren.
Gruß
Heinz

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige