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

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


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

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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige