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

Import aus TXT-Datei

Import aus TXT-Datei
23.06.2004 12:05:38
Holger
Hallo Forum,
habe folgenden Code der mir aus einer Textdatei mit dem Feldseperator "Komma"
die Daten in bestimmte Zellen schreibt.
1.Ist es möglich die Anzahl der Daten(hier 4 Werte) variabel zu gestalten,
so das das Makro nach alle Daten suchet, bis zum Ende. Die Anzahl der Daten ist unterschiedlich.
2.kann der Seperator in ein Hochkomma umgewandelt werden ?
Danke für die Hilfe !

Sub TextImport()
Dim arr(1 To 4) As String
Dim iFile As Integer, icounter As Integer
Dim sFile As String
sFile = "C:\test.txt"
iFile = FreeFile
Open sFile For Input As iFile
Do Until EOF(iFile)
Input #iFile, arr(1), arr(2), arr(3), arr(4)
Loop
Close
For icounter = 1 To 4
Cells(icounter, 1).Value = arr(icounter)
Next icounter
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Import aus TXT-Datei
Uduuh
Hallo,
warum benutzt du nicht die OpenText-Methode?
Gruß aus'm Pott
Udo
AW: Import aus TXT-Datei
GerdZ
Hallo Holger,
folgender Code funktioniert bei mir in Excel 2000 problemlos:
Sub TextImport()
Dim sBuffer As String, aBuffer() As String
Dim iFile As Integer, iCounter As Integer
Dim sFile As String
sFile = "C:\test.txt"
iFile = FreeFile
Open sFile For Binary As iFile
sBuffer = Input(LOF(iFile), iFile)
Close iFile
aBuffer = Split(sBuffer, vbCrLf)
'    For iCounter = LBound(aBuffer) To UBound(aBuffer)
'    Cells(iCounter + 1, 1).Value = aBuffer(iCounter)
'    Next iCounter
Range("A1:A" & CStr(UBound(aBuffer) - LBound(aBuffer) + 1)).Value = WorksheetFunction.Transpose(aBuffer)
End Sub

Hierbei wird die Textdatei komplett in sBuffer gelesen und dann mit der Split-Funktion anhand der Zeilenschaltungen in ein Array aufgeteilt.
Gruß
Gerd
Anzeige
AW: Import aus TXT-Datei
24.06.2004 08:03:42
Holger
Hallo Gerd,
danke für die Lösung es ist fast so wie ich es brauche, aber kannst du mir
vielleicht weiterhelfen, denn jeder Zeichensatz soll fortlaufend in eine Zelle (A1-A..)
geschrieben werden.
Danke !
Holger
AW: Import aus TXT-Datei
GerdZ
Hallo Holger,
was meinst Du mit "jeder Zeichensatz"?
Der Code schreibt jede Zeile aus der txt-Datei in die Zellen der Spalte A, angefangen bei A1.
Gruß
Gerd
AW: Import aus TXT-Datei
25.06.2004 08:54:40
Holger
Hallo Gerd,
meine TXT ist wie folgt aufgebaut:
'QTY+46:0.570'QTY+46:0.660'QTY+46:0.600'QTY+46:0.570'QTY+46:0.600'QTY+.....
'QTY+46:0.570'QTY+46:0.660'QTY+46:0.600'QTY+46:0.570'QTY+46:0.600'QTY+.....
In einer Zeile stehen zu viele Daten, die kann Excel nicht übernehmen.
Ein Zeichensatz besteht aus "QTY+46:0.660" der Feldtrenner ist ein Hochkomma.
Ich möchte das jeder Zeichenzatz der TXT-Datei in eine Zelle absteigend
(A1-A...)geschrieben wird.
Hoffe du kanst mir helfen !!
Gruß
Holger
Anzeige
AW: Import aus TXT-Datei
GerdZ
Hallo Holger,
vielleicht reicht das Ändern der Zeile
aBuffer = Split(sBuffer, vbCrLf)
in
aBuffer = Split(sBuffer, "'")
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige