Makro aus txt-File erste 15 Zeilen nach Excel importieren

23/07/2012 - 20:17 von berndkonle | Report spam
Hallo,

ich habe erst angefangen Makros in Excel zu schreiben und hab hier eine Frage.

Muss zig .txt- Files öffnen und in Excel importieren, aber davon jeweils immer nur die ersten 15 zeilen.

Leider komme ich absolut nicht weiter und hoffe es kann mir jemand helfen.

Mein Code zum öffnen aller Dateien:

Sub Alle_txt_Dateien_importiern()

Dim strFile$
Const strPfad$ = "C:\_Test\"
strFile = Dir(strPfad & "*2012*.txt", vbNormal)
Do Until Len(strFile) = 0
With ActiveSheet
.Cells(.Rows.Count, 3).End(xlUp).Offset(1, -1) = strFile
With .QueryTables.Add(Connection:="TEXT;" & strPfad & strFile, _
Destination:=.Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0))
.AdjustColumnWidth = True
.TextFileParseType = xlDelimited
.TextFileSpaceDelimiter = False 'Leerzeichen
.TextFileCommaDelimiter = True 'Komma
.Refresh BackgroundQuery:=False
End With
End With
strFile = Dir$
Loop
end Sub


vielen Dank im Voraus und viele Grüße



Bernd
 

Lesen sie die antworten

#1 Robert Feldmann
29/07/2012 - 00:53 | Warnen spam
Hallo Bernd,

mit der Query werden wohl immer alle Zeilen eingelesen, ich wüsste nicht
wie Du der sagen kannst nur die ersten 15 Zeilen einzulesen.

Da es sich um Textdateien handelt, kannst Du sie wie unten beschrieben
behandeln. Hier wir mit "open" das Textfile geöffnet, durch die For /
Next Schleife die ersten 15 Zeilen eingelesen und in der Zieltabelle
untereinander eingetragen. Wenn auch weniger Zeilen in den Textdateien
enthalten sein können müsste man noch eine Prüfung auf EOF (end of file)
einbauen.

Sub FuenfzehnZeilen_txt_Dateien_importieren()
Dim strFile$
Const strPfad$ = "C:\_Test\"
strFile = Dir(strPfad & "*2012*.txt", vbNormal)
Do Until Len(strFile) = 0
With ActiveSheet
Open strPfad$ & strFile For Input As #1
For i = 1 To 15 'Definition wieviele Zeilen einzulesen sind
Input #1, Txt1
.Cells(10000, 3).End(xlUp).Offset(1, 0).Value = Txt1
'schreibt jeweils unter die letzte ausgefüllte Zelle
Next
Close
End With
strFile = Dir$
Loop
End Sub

Robert
Nicht was Du sagst ist entscheidend, sondern was verstanden wird.

Ähnliche fragen