micha020983
Goto Top

Textdateien Importieren in Excel - erste Zeile weg lassen!

Hallo zusammen,

ich hab immer wiederkehrend mehrere Semikolongetrennte Textdateien, welche ich untereinander in Excel brauche!

Klappt hiermit schon ganz gut:


Sub CSV_Import()
Dim dateien, i, lastrow
lastrow = 1
dateien = Application.GetOpenFilename _
("txt-Dateien (*.txt), *.txt", MultiSelect:=True)
If IsArray(dateien) Then
For i = 1 To UBound(dateien)
Workbooks.Open dateien(i), local:=True
With ThisWorkbook.Sheets(1)
ActiveSheet.UsedRange.Copy Destination:=.Range("A" & lastrow)
lastrow = .UsedRange.Rows.Count + 1
End With
ActiveWorkbook.Close False
Next i
End If
End Sub


Danach wird noch bisl Text in Spalten und schön gemacht usw...

Allerdings hat jede Textdatei immer die selbe erste Zeile welche so aussieht:

AT-Nr.;MC 1;MC 2;Bezeichnung 1;Bezeichnung 2;Mengeneinheit;PGRP;Pool-AT-KZ;Sorti-Kz;AT-Nr. Bestand;AT-Nr.-Lieferant;Packinhalt 1;Packinhalt 2;AT-Nr. Verband;Metallgewicht;Metallstaffel;EAN-Nr;Sonst. Info;Sortimentsgruppe;Lief.Nr.Verband;RGI-AT;Bestandsbuchung E/S;EK-KGRP;Neuanlagedatum

Die ist immer gleich!
Wie kann ich das machen, das die nicht bei jeder Datei mit eingelesen wird? Also das eigentlich die Textdatei immer nur ab der zweiten Zeile eingelesen wird?? Geht das?

Vielen Dank schonmal ;)

Content-ID: 264527

Url: https://administrator.de/contentid/264527

Ausgedruckt am: 16.11.2024 um 13:11 Uhr

114757
114757 25.02.2015 aktualisiert um 16:25:36 Uhr
Goto Top
micha020983
micha020983 25.02.2015 um 16:49:31 Uhr
Goto Top
Muss dazu sagen das ich ne absolute Niete im VB bin face-smile

Kann ich das in mein Script einbauen oder soll ich lieber das aus dem Link nehmen und umbiegen?
So ganz Blick ich noch nicht durch face-big-smile
114757
Lösung 114757 25.02.2015 aktualisiert um 17:22:23 Uhr
Goto Top
Wenn du es wesentlich Performanter haben willst nehm das aus dem zweiten Link. Dort muss dann nur Zeile 45 geändert werden.

Wenn du dein Script unbedingt weiterverwenden willst, reicht das Ändern von dieser Zeile:
ActiveSheet.UsedRange.Offset(1,0).Copy Destination:=.Range("A" & lastrow)
micha020983
micha020983 25.02.2015 um 17:22:42 Uhr
Goto Top
Perfekt, danke euch! face-smile