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-Key: 264527

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

Printed on: April 24, 2024 at 18:04 o'clock

Mitglied: 114757
114757 Feb 25, 2015 updated at 15:25:36 (UTC)
Goto Top
Member: micha020983
micha020983 Feb 25, 2015 at 15:49:31 (UTC)
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
Mitglied: 114757
Solution 114757 Feb 25, 2015 updated at 16:22:23 (UTC)
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)
Member: micha020983
micha020983 Feb 25, 2015 at 16:22:42 (UTC)
Goto Top
Perfekt, danke euch! face-smile