Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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

mehrere Textdateien in Excel importieren

mehrere Textdateien in Excel importieren
maschin
Hallo zusammen,
ich bin neu hier und arbeite mit Excel nur gelegentlich und mit Makros und VBS kenne ich mich nicht aus.
Ich habe Text Dateien (sind alle im gleichen Ordner) die alle gleich aufgebaut sind, die Daten sind mit tab getrennt und belegen mehrere Zeilen.
Der zweite Code von Seite http://www.office-loesung.de/ftopic422775_0_0_asc.php paßt sehr gut für meine Zwecke, nur sollte in der Exceltabelle die importierten Daten (Zahlen zwischen 0 und 999, sowie ein paar Wörter) von jeder Datei nur eine Zeile belegen.
Mit diesem Code werden sie in der Exceltabelle auf mehrere Zeilen verteilt, genau so wie sie in den Text Dateien aussehen.
Demo einer Text Datei:
82 88 88 555 0 0 0 0 0 10 20
9 89 456 566 56 56 56 56 65 0
87 65 987 65 20 0 0 0 0 0 0
Und so sollte es dann in der Exceldatei aussehen:
82 88 88 555 0 0 0 0 0 10 20 9 89 456 566 56 56 56 56 65 0 87 65 987 65 20 0 0 0 0 0 0
Was muss hier geändert werden?
Vielen Dank für Eure Hilfe.

Sub test()
Dim strPfad As String
Dim FSO As Object
Dim file
Dim lngLR As Long
'Anpassen
strPfad = "C:\...\"
Set FSO = CreateObject("scripting.filesystemobject")
For Each file In FSO.getfolder(strPfad).Files
strFileName = file.Name
'Anpassen (Die 1 in cells(...,1) steht für die Spalte A
'Wenn angepasst werden muss dann den Buchstabe (z.B. A zu B) verändern und Zahl verä _
ndern (dann 1 zu 2)
strDestination = "A" & Cells(Rows.Count, 1).End(xlUp).Row + 1
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & strPfad & strFileName, Destination:=Range( _
strDestination))
.Name = "Uebersicht" 'Name des Tabellenblattes nach Import
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
'Hier kannst du das Trennzeichen einstellen (Leerzeichen ist eingestellt)
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Next
End Sub

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

Betreff
Benutzer
Anzeige
AW: mehrere Textdateien in Excel importieren
28.10.2011 09:08:39
Heiko
Moin maschin,
das könnte z.B. so gehen.

Sub testt()
Dim strHelp As String, strPfad As String, arrinput() As String
Dim FSO As Object
Dim file
Dim intFileNumber1 As Integer, intLR As Integer
intLR = 1
'Anpassen
strPfad = "C:\Copy\Neuer Ordner\"
Set FSO = CreateObject("scripting.filesystemobject")
For Each file In FSO.getfolder(strPfad).Files
intFileNumber1 = FreeFile
Open strPfad & file.Name For Binary As intFileNumber1
strHelp = Space(LOF(intFileNumber1))
Get intFileNumber1, , strHelp
strHelp = Replace(Replace(strHelp, vbCrLf, " "), "  ", " ")
' Trennzeichen = Leerzeichen
arrinput = Split(strHelp, " ")
Close intFileNumber1
ThisWorkbook.ActiveSheet.Range(Cells(intLR, 1), Cells(intLR, UBound(arrinput) + 1)) =  _
arrinput
intLR = intLR + 1
Erase arrinput
Next file
End Sub

Wenn das nicht klappt, müßtest du mal eine Textdatei hochladen um zu sehen welche Zeilenumbrüche da drin sind.
Gruß Heiko
Anzeige
AW: mehrere Textdateien in Excel importieren
28.10.2011 17:53:29
maschin
Hallo Heiko S.,
vielen Dank erst mal.
Ich kann das aber wahrscheinlich erst am Montag ausprobieren.
Melde mich dann wieder.
Gruss
AW: mehrere Textdateien in Excel importieren
28.10.2011 20:31:01
maschin
Hallo,
konnte es doch noch testen.
Geht leider nicht.
Trennzeichen müßte der tab sein, nicht das Leerzeichen.
Die Dateien haben die Endung *.LPG und sind im Ordner C:\L_PROG
Ich lade mal zwei Demodateien hoch.
https://www.herber.de/bbs/user/77266.zip
Gruss
AW: mehrere Textdateien in Excel importieren
31.10.2011 08:43:04
Heiko
Moin Maschin,
bitte diese Zeile:
arrinput = Split(strHelp, " ")
Gegen diese Zeile tauschen (ändern)
arrinput = Split(strHelp, vbTab)
Dann sieht das bei mir garnicht so schlecht aus.
Aber Achtung da du viele Einträge in den Dateien hast, bei mir geht das bis Spalte PE oder 421 (Office 2007), da könntest du Probleme kriegen bei Office 2003.
Gruß Heiko
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige