in einer for-Schleife prüfe ich aus n Arrays Werte mittels If-Schleifen und schreibe diese in eine Zeile. Sind diese ungültig, überspringe ich und nehm den nächsten Wert. Problem: Durch das überspringen entstehen mir leere Zeilen, was ich aber nicht haben möchte. Bitte daher um Ideen wie ich eine fortlaufende Ausgabe ohne Leerzeilen generieren kann.
For i = 1 To WB.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row 'bis zur letzten Zeile der _
ersten Spalte aus der Importdatei
If ((InStr(1, myDatenImport(i, 2), "P2", vbTextCompare) = 1)
Position = InStr(1, myDatenImport(i, 2), "_", vbTextCompare)
Sheets(2).Cells(j + 10 + myletzteZeile, 6) = (Left(myDatenImport(i, 2), Position - 1))
Sheets(2).Cells(j + 10 + myletzteZeile, 5) = (Right(myDatenImport(i, 2), Len(myDatenImport(i, _
2)) - Position)) 'Bezeichnung (5)
Sheets(2).Cells(j + 10 + myletzteZeile, 4) = myDatenImport(i, 4) 'Menge (4)
ElseIf (ZeichenZählen(myDatenImport(i, 2), "_") = 2) Then
PositionAnfang = InStr(1, myDatenImport(i, 2), "_", vbTextCompare)
PositionEnde = InStrRev(myDatenImport(i, 2), "_", -1, vbTextCompare)
Sheets(2).Cells(j + 10 + myletzteZeile, 5) = (Mid(myDatenImport(i, 2), PositionAnfang + 1, _
PositionEnde - PositionAnfang - 1)) 'Bezeichnung (5)
Sheets(2).Cells(j + 10 + myletzteZeile, 6) = (Right(myDatenImport(i, 2), Len(myDatenImport(i, _
2)) - PositionEnde)) 'Bestellnummer (6)
Sheets(2).Cells(j + 10 + myletzteZeile, 7) = (Left(myDatenImport(i, 2), PositionAnfang - 1)) ' _
Hersteller (7)
Sheets(2).Cells(j + 10 + myletzteZeile, 4) = myDatenImport(i, 4) 'Menge (4)
Else
i = i
'Spasseshalber könnte man hier noch versuchen den/die Fehler zu beschreiben (z.B. Anzahl "_" > _
2 etc.)
MsgBox ("In Zeile " & i & " Bedingungen nicht erfüllt")
End If
Next
Danke!Gruß Rico