Danke für die Hilfe
10.01.2018 14:13:01
Marco
Hallo Onur,
ich habe es leider nicht so hinbekommen wie du es gemeint hast. Das liegt aber daran das der Code den ich aus dem Forum hier habe die Spalten in der CSV Datei in einer Funktion vorsortiert. Deswegen habe ich deinen Code genommen und ihn in meinen bestehend eingebaut. Und es schein zu funktionieren.
Daher vielen Dank.
Könntest du mir bitte vielleicht bei meinem anderen Problem mit den Duplikaten auch weiterhelfen?
Private Function Erase_Unwanted_Data(Ws As Worksheet) As Boolean
Dim lastCol As Long, zeile As Long, PosAt1 As Integer, PosAt2 As Integer, sText As String
With Ws
'In Spalte 1 die Daten bis einschlielich zweitem @ Symbol entfernen
For zeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
PosAt2 = 0
sText = .Cells(zeile, 1).Text
PosAt1 = InStr(1, sText, "@")
If PosAt1 > 0 Then
PosAt2 = InStr(PosAt1 + 1, sText, "@")
End If
If PosAt2 > 0 Then
.Cells(zeile, 1).Value = "" & Mid(sText, PosAt2 + 1)
End If
'Onur dein Code Teil
If .Cells(zeile, 1) "" Then
If .Cells(zeile, 15) "" Then
.Cells(zeile, 13) = .Cells(zeile, 15)
.Cells(zeile, 15) = ""
End If
If .Cells(zeile, 16) "" Then
.Cells(zeile, 14) = .Cells(zeile, 16)
.Cells(zeile, 16) = ""
End If
End If
Next
'nicht benötigte Spalten werden gelöschen. Erhalten bleiben folgende 1, 3, 4, 6, 8, 9, _
10, 12 und 13
lastCol = .UsedRange.Column + .UsedRange.Columns.Count - 1
If lastCol > 13 Then
.Range(.Columns(14), .Columns(lastCol)).Delete
End If
.Columns(11).Delete
.Columns(7).Delete
.Columns(5).Delete
.Columns(2).Delete
'neue Spalten Reihenfolge aufgeführt sein: 1, 3, 6, 4, 13, 8, 9, 10, 12
.Columns(9).Cut
.Columns(5).Insert
.Columns(4).Cut
.Columns(3).Insert
End With
End Function