Moin! Also der Gast meinte, du must zweimal das mit dem INPUT schreiben. Beim zweiten Aufruf von INPUT nimmt er die zweite Zeile. VG
Sub ReadfromCSVSimple(fname As Variant, Optional fs As String = ";")
Dim hfile As Integer ' Filehandle bzw. Dateinummer
Dim lAnzahl As Long ' Zähler über alle Zeilen
Dim OneLine As String ' eine Zeile als String
Dim myArr As Variant ' eine Zeile in Felder getrennt
Dim myArrRows As Variant ' Array zum Trennen des csv in mehrere Zeilen
Dim lnglast As Long
Dim zeichen As Variant
Dim iCnt As Integer 'Schleifenzaehler fuer Array. Bei vielen Daten Long nehmen
ThisWorkbook.Worksheets("Projektübersicht").Select
lnglast = Cells(Rows.Count, 1).End(xlUp).Row
If IsEmpty(Cells(lnglast, 1)) Then lnglast = Cells(lnglast, 1).End(xlUp).Row
lnglast = lnglast + 1 ' ermittelt die erste freie Zeile
hfile = FreeFile
Open fname For Input As #hfile
'jetzt steht die erste Zeile in OneLine
Line Input #hfile, OneLine
'jetz steht die zweite Zeile in OneLine
Line Input #hfile, OneLine
If OneLine <> "" Then ' ist die Zeile NICHT leer?
myArrRows = Split(OneLine, Chr(10)) 'erst mal in "Zeilen" trennen, Zeichen 0A
myArr = Split(OneLine, fs) ' dann am Trennzeichen separieren
myArr = Split(myArrRows(iCnt), fs) ' dann am Trennzeichen separieren
If UBound(myArr) > 1 Then
With Worksheets("Projektübersicht")
.Cells(lnglast, 33) = Replace(myArr(15), Chr$(34), vbNullString) 'Firma/ Name
.Cells(lnglast, 37) = Replace(myArr(17), Chr$(34), vbNullString) ' Straße
.Cells(lnglast, 35) = Replace(myArr(18), Chr$(34), vbNullString) ' PLZ
|