VBA: Sortierung nach Prio. - mit Ausnahme
08.03.2019 11:36:54
Chris
ich habe einen Code im Netz gefunden und ein bisschen auf meine Anforderung angepasst. Dieser priorisiert (schiebt die Zeilen nach oben) innerhalb meines Bereichs gemäß Eingabe in Spalte F die entsprechenden Zeile. Ich habe in Spalte F ein Dropdown per Datenüberprüfung mit Zahlen 1-5 und "X" angelegt.
Ich möchte nun, dass wenn "X" ausgewählt wird, das praktisch wie "kein Eintrag" gilt und die Sortierung nur auf Zahlen von 1-5 erfolgt.
Mein Code stellt zwar sicher, dass wenn ich "X" auswähle die entsprechende Zeile nicht sortiert wird, wenn ich aber zusätzlich in einer anderen Zeile eine Zahl wähle, wird die Zeile mit "X" auch automatisch mitverschoben. Ich möchte das aber nicht, nur die Zahlen sollen letztlich nach oben verschoben werden - als Symbolik für die Prio.
Mein Code ist folgender:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngIntersect As Range
Set rngIntersect = Application.Intersect(Range("A7:N500"), Target)
If Not rngIntersect Is Nothing Then
If ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 6) "X" Then
If ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 1) "" _
And ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 2) "" _
And ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 3) "" _
And ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 4) "" _
And ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 5) "" _
And ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 7) "" _
And ActiveWorkbook.Worksheets("DP").Cells(Target.Row, 14) "" Then
With ActiveWorkbook.Worksheets("DP").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("F7:F500"), SortOn:=xlSortOnValues, Order:= _
xlAscending, _
DataOption:=xlSortNormal
.SortFields.Add Key:=Range("N7:N500"), SortOn:=xlSortOnValues, Order:= _
xlAscending, _
DataOption:=xlSortNormal
.SetRange Range("A7:O500")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
Else
End If
End If
End Sub
Wäre sehr dankbar wenn jemand mir bei der kleinen Anpassung helfen könnte, da ich relativ unbeholfen bin was VBA angeht.Gruß und schon mal schönes Wochenende!
- Chris